Adaptive optical image reader

ABSTRACT

There is described in one embodiment a method for use by an apparatus that can acquire an image. According to a described method, parameters for utilization by the apparatus are provided. According to a described method, a method can include acquiring an image and can further include evaluating an image. In another embodiment, there is described an apparatus comprising a plurality of digitizers. In one example of an embodiment of an apparatus including a plurality of digitizers, the digitizers can be configured to run in parallel. In another example of an embodiment of an apparatus including a plurality of digitizers, the digitizers can be configured to run in series.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the priority of U.S. Provisional Application No.60/470,016 filed May 12, 2003. The priority of the above application isclaimed and the above application is incorporated herein by reference.This application also incorporates by reference U.S. patent applicationSer. No. 09/904,697 filed Jul. 13, 2001, now U.S. Pat. No. 6,722,569.

FIELD OF THE INVENTION

Embodiments of the invention are directed to optical image readerapparatus and methods and, more particularly, to an optical image readerapparatus and method providing improved functionality and adaptabilityto object environments.

BACKGROUND OF THE INVENTION

Optical readers tend to fall into one of three classes: wand readers,laser scan engine optical readers and image sensor based opticalreaders.

Wand readers generally comprise a single light source and singlephotodetector housed in a pen shaped housing. A user drags the wandreader across a decodable symbol (e.g., a bar code) and a signal isgenerated representative of the bar space pattern of the bar code.

Laser scan engine based optical readers comprise a laser diode assemblygenerating a laser light beam, a moving mirror for sweeping the laserlight beam across a decodable symbol and a signal is generatedcorresponding to the decodable symbol. Image sensor based opticalreaders comprise multielement image sensors such as CID, CCD, and CMOSimage sensors and an imaging optic for focusing an image onto the imagesensor. In operation of an image sensor based optical reader, an imageof a decodable symbol is focused on an image sensor and a signal isgenerated corresponding to the image.

Image sensor based optical readers are more durable and offer additionalfeatures relative to laser scan engine based bar code readers. Anadditional function which has been incorporated into image sensor basedoptical readers is a picture taking function. Optical readers have beendeveloped which can both take pictures and decode decodable symbolsrepresented in captured image data.

The evolution of data forms (bar code formats) from one dimensionallinear codes to two dimensional matrix symbologies has spurred aconcomitant need to read and decode greater amounts of data in shorterperiods of time, with a higher degree of accuracy, and under moredemanding environmental conditions (e.g., low light levels, longer readdistances, etc.) than before. These challenges also demand device easeof use and speed of use, which is being addressed in part by theautomatic adaptation of reader systems and methods. As an illustration,the interested reader is directed to commonly assigned publishedapplication U.S. 2004/0004128, incorporated herein by reference in itsentirety to the fullest extent allowed by applicable laws and rules,which relates to 1D/2D auto discrimination and reader reprogramability.

Optical decoding optical readers digitize image data prior to subjectingthe image data to decoding processing such as bar code symbologydecoding or OCR decoding. It is generally known that the best digitizingalgorithm for use in digitizing a certain set of image data depends onfeatures of the image data. A digitization method that may be useful fordigitizing image data under a first imaging condition or whichcorresponds to a first type of symbol may not be useful for digitizingimage data captured under a second set of imaging conditions or whichcorresponds to a second type of symbol, for example.

The approach of prior artisans who are cognizant of the fact that a bestdigitization method for a particular set of image data may varydepending upon features of the image data has been to successivelysubject the set of image data to multiple digitization algorithms. U.S.Pat. No. 6,082,621, for example, describes an analog digitizer fordeveloping a series of “1” value or “0” value pixel values wherein ananalog signal is subjected to multiple gray-to-binary conversionthreshold values. If decoding the image data digitized utilizing thefirst binary conversion threshold fails, the image data is redigitizedusing a second binary conversion threshold and subjected to decodingagain. If decoding again fails, the image data is digitized again usinga third binary conversion threshold and so on. In digitization methodsthat use the reiterative decoding attempt approach method, thedigitizing methods useful for digitizing the most commonly encounteredimage features are tried first, and the least commonly encountered imagefeatures are attempted last.

The decoding of image data by digitization of rarely seen image featuressubjects the image data to multiple digitation methods and decodingattempts before one is successful. Furthermore, if a symbolrepresentation of a set of image data is of a type that cannot bedecoded, several attempts to digitize and decode the symbolrepresentation are nevertheless made. It can be appreciated, therefore,that the above approach can be extremely time consuming and prone torepetitive failure.

An example is illustrated by the fact that most readers are designed tooperate with a fixed field of view or, in other words, over a fixed andgenerally limited range of distances between the reader and the code. Ifa bar code read is attempted outside of the designed read range, neitherthe system components nor the reader algorithms will be sufficient toprovide a successful first read attempt, leading to businessinefficiencies in the long run. In addition to reading distance, animage reader may incorporate a digitizer algorithm that optimizes thereader for a different condition such as bar code contrast, colorcontrast, blurring due to motion, bar growth (inking related issues), orothers, resulting in an image reader that is application or environmentspecific. Accordingly, there is a need to further advance operationaladaptability of optical image readers.

SUMMARY OF THE INVENTION

There is described in one embodiment a method for use by an apparatusthat can acquire an image. According to a described method, parametersfor utilization by the apparatus are provided. According to a describedmethod, a method can include acquiring an image and can further includeevaluating an image. In another embodiment, there is described anapparatus comprising a plurality of digitizers. In one example of anembodiment of an apparatus including a plurality of digitizers, thedigitizers can be configured to run in parallel. In another example ofan embodiment of an apparatus including a plurality of digitizers, thedigitizers can be configured to run in series.

These and other details, advantages and benefits of the presentlyembodied invention will become apparent from the detailed description ofthe preferred embodiment and the associated drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For a further understanding of these and objects of the invention,reference will be made to the following detailed description of theinvention which is to be read in connection with the accompanyingdrawing, wherein:

FIG. 1 depicts a reader in use in an operating environment according toan embodiment of the invention;

FIGS. 2 a-2 i show various optical reader form factors according to anembodiment of the invention;

FIGS. 3 a-3 d show various views of an imaging module according to anembodiment of the invention;

FIGS. 3 e and 3 f show graphical user interfaces, which may be utilizedin the selection of an operating mode according to an embodiment of theinvention;

FIGS. 4 a-4 e show block diagrams for optical readers in whichembodiments of the invention may be incorporated;

FIG. 5 illustrates a memory map of an optical reader according to anembodiment of the invention;

FIG. 6 is a block diagram of an electrical circuit according to anembodiment of the invention;

FIGS. 7 a and 7 b show a flow chart diagram illustrating a frame rateadjustment algorithm according to an embodiment of the invention;

FIG. 8 shows a timing diagram of an electronic rolling shutter accordingto an embodiment of the invention.

FIGS. 9 a-9 d show various timing diagrams illustrating possibleembodiments of a linear decode mode according to an embodiment of theinvention;

FIG. 10 illustrates an optical reader network according to an embodimentof the invention;

FIGS. 11 a-11 e are flow diagrams illustrating various operating modesaccording to an embodiment of the invention;

FIGS. 11 f and 11 g are histograms corresponding to captured frames ofimage data captured according to an embodiment of the invention;

FIG. 12 schematically illustrates a digital image reading systemaccording to an embodiment of the invention; and

FIG. 13 illustrates exemplary plural digitizer parameter rangesaccording to an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

An optical reader 10, according to an embodiment of the invention, isdepicted in use in FIG. 1. In an exemplary aspect, reader 10 is utilizedto decode a bar code 1010 such as a bar code on a package 1012. In a“picture taking” mode aspect, reader 10 is utilized to take a picture ofpackage 1020 carrying bar code 1010, or a storage container, or atrailer box 1030 or a signature or a face. In an automatic imaging modeaspect, reader 10 captures an image, classifies the image, and processesthe image in a manner that depends on the image classification.

Examples of housings for optical readers in which embodiments of theinvention can be employed are shown in FIGS. 2( a-i). In FIG. 2 a, a gunstyle optical reader is shown as described in copending application Ser.No. 10/339,275, filed Jan. 9, 2003, entitled “Housing For OpticalReader,” incorporated herein by reference in its entirety. An imagingmodule (as illustrated in FIGS. 3 a-3 d) is incorporated in the readerhousing 11. In FIG. 2 b, a gun style reader 10 is shown having anintegrated keyboard 13 k and display 13 d. In FIGS. 2 c, 2 d and 2 e, aportable data terminal (PDT) style reader is shown having a keyboard 13k and a display 13 d. In FIG. 2 e, an embodiment is shown whereindisplay 13 d includes an associated touch screen overlay and whichfurther includes a stylus for entering signature information. In FIG. 2f, a cellular phone is shown that has a display 13 d and keyboard 13 kand which incorporates an imaging module 50 as illustrated in FIGS. 3(a-d). In the embodiment of FIG. 2 g, a reader 10 comprises a personaldigital assistant (PDA). In the embodiment of FIG. 2 i, reader 10 is inthe form of a transaction terminal including card reader 240, as isdescribed in U.S. patent application Ser. No. 10/339,444, filed Jan. 9,2003, entitled, “Transaction Terminal Comprising Imaging Module,”incorporated herein by reference in its entirety. Numerous other formfactors are possible. For example, in U.S. application Ser. No.10/092,789, filed Mar. 7, 2002, entitled “Optical Reader ImagingModule,” incorporated by reference, a pen style optical reader is shown.In U.S. application Ser. No. 09/432,282, filed Nov. 2, 1999, entitled“Indicia Sensor System For Optical Reader,” incorporated by reference, areader is shown which rests on a “scan stand.” Embodiments of theinvention are not limited to these exemplary form factors.

An imaging module 50, which may be incorporated into a reader housing toform an optical reader, is described with reference to FIGS. 3 a-3 d.Imaging module 50 may illustratively be an IT 4000 model imaging moduleof the type available from Hand Held Products, Inc. of SkaneatelesFalls, N.Y. IT4000 imaging modules available from Hand Held Products,Inc. are available with associated decode circuits which may be actuatedto decode a decodable indicia, such as bar code indicia, within acaptured image. Alternatively, imaging module 50 could be an IT4200model imaging module with an associated decode-out circuit, alsoavailable from Hand Held Products, Inc. Other imaging module models andbrands are also available as those skilled in the art will appreciate,which will support both 1D linear readers and 2D readers incorporatingCCD, CID, or CMOS based image sensors. In an exemplary embodiment,imaging module 50 includes a support 80 having a containment 81containing image sensor 32 incorporated on chip 182, and a retainersection 82 retaining a lens assembly 40 provided by a lens barrel. Lensassembly 40 includes a lens or lenses which focus images from asubstrate (as seen in FIG. 3 b) onto image sensor 32. In one embodiment,lens assembly 40 is configured so that module 50 has a fixed best focusreceive distance of less than two feet (e.g., 3 inches, 5 inches, 7inches, 15 inches). Configuring lens assembly 40 so that module 50 has abest focus receive distance of less than two feet allows module 50 tocapture high resolution images at short range, from which decodableindicia can readily be decoded. Module 5 can also be configured so thatmodule 50 has a best focus distance of several feet such as 5 feet ormore as is described in U.S. application Ser. No. 10/252,484, filed Sep.23, 2002, entitled “Long Range 1-D Image Reader,” incorporated herein byreference in its entirety. Module 50, can also include an adjustablelens assembly for providing an adjustable best focus receive distance.

Referring to further aspects of module 50, a first circuit board 14 acarrying image sensor chip 182 and aiming LEDs 18 is mounted to aback-end of support 80 while a front circuit board 14 b carryingillumination LEDs 16 is mounted to a front end of support 80. An opticalplate 26 carrying aiming and illumination optics is disposed forward ofsecond circuit board 14 b. Supporting the various components of imagingmodule 50 is a plurality of conductive support posts 84. As shown inFIG. 3 d, support 80 can include integrated mounting wings 80 w aidingin the mounting of module 50 within module 10. Imaging module 50 isfully assembled into a form substantially shown in FIGS. 3 a and 3 b,prior to being installed in reader housing 11. Further aspects of module50 and variations thereof are described in U.S. application Ser. No.10/092,789, filed Mar. 7, 2002, entitled “Optical Reader ImagingModule,” incorporated herein by reference in its entirety.

Referring to FIG. 3 b, illumination LEDs 16 together with illuminationoptics including diffusers 27, project an illumination pattern 90 onto asubstrate s. Illumination pattern 1216 at normal working distancessubstantially corresponds to a field of view of imaging module 50.Aiming LEDs 18 together with aiming optics 43, 25 project an aimingpattern 1218 onto a substrate. Aiming pattern 1218 aids in the alignmentof imaging module 50 relative to a target. If reader 10 is moved so thataiming pattern is located on a target indicia 1010 such as the bar codeshown in FIG. 3 b, there is strong assurance that target indicia 94 iswithin a field of view of imaging module 50.

Block diagrams illustrating various types of optical readers are shownin FIGS. 4 a-4 e. Referring to FIG. 4 a, single state optical reader 10a includes a reader processor assembly 30, and an illumination system31. Reader processor assembly 30 captures an image of target T, decodesdecodable symbols of the target to generate a message, and transmits themessage to a host processor assembly to be described herein.

Reader processor system 30 of FIG. 4 a also includes programmablecontrol circuit 40 s, which comprises an integrated circuitmicroprocessor 42 and an application specific integrated circuit (ASIC44). The function of ASIC 44 could also be provided by a fieldprogrammable gate array (FPGA). Processor 42 and ASIC 44 are bothprogrammable control devices, which are able to receive, output, andprocess data in accordance with a stored program stored in memory unit45-1, which may comprise such memory elements as a read/write randomaccess memory or RAM 46-1 and an erasable read only memory or EROM 47-1.RAM 46-1 typically includes at least one volatile memory device but mayinclude one or more long-term non-volatile memory devices. Processor 42and ASIC 44 are also both connected to a common bus 48-1 through whichprogram data and working data, including address data, may be receivedand transmitted in either direction to any circuitry that is alsoconnected thereto. Processor 42 and ASIC 44 differ from one another,however, in how they are made and how they are used.

More particularly, processor 42 is preferably a general purpose,off-the-shelf VLSI integrated circuit microprocessor, which has overallcontrol of the circuitry, but which devotes most of its time to decodingdecodable image data such as symbology or text character data stored inRAM 46-1 in accordance with program data stored in EROM 47-1. ASIC 44,on the other hand, is a special purpose VLSI integrated circuit, such asa programmable logic or gate array, which is programmed to devote itstime to functions other than decoding image data, and thereby relieveprocessor 42 from the burden of performing these functions.

The actual division of labor between processor 42 and ASIC 44 willnaturally depend on the type of off-the-shelf microprocessors that areavailable, the type of image sensor which is used, the rate at whichimage data is output by imaging assembly 33, etc. There is nothing inprinciple, however, that requires that any particular division of laborbe made between processors 42 and 44, or even that such a division bemade at all. With processor architectures of the type shown in FIG. 4 a,a typical division of labor between processor 42 and ASIC 44 will be asfollows. In an aspect, processor 42 is directed to decoding image datain response to trigger 13 t being activated, once such data has beenstored in RAM 46-1 and, recognizing characters represented in storedimage data according to an optical character recognition (OCR) scheme inresponse to the actuation of trigger 13 t. ASIC 44 is directed tocontrolling the image acquisition process, the A/D conversion processand the storage of image data, including the ability to access memories46-1 and 47-1 via a DMA channel. ASIC 44 may also perform many timingand communication operations. ASIC 44 may, for example, control theillumination of LEDs 22, the timing of image sensor 32 and ananalog-to-digital (A/D) converter 36-1, the transmission and receptionof data to and from a processor system external to assembly 30, throughan RS-232, a network such as an Ethernet, a serial bus such as USB, awireless communication link (or other) compatible I/O interface as isindicated by interface 37-2. ASIC 44 may also control the outputting ofuser perceptible data via an output device, such as aural output device14 a, a good read LED 14 g and/or a display monitor which may beprovided by a liquid crystal display such as display 14 d. Control ofoutput, display and I/O functions may also be shared between processors42 and 44, as suggested by bus driver I/O interface 37-3 or duplicated,as suggested by microprocessor serial I/O interface 37-1 and interface37-2. As explained earlier, the specifics of this division of labor isof no significance to the present invention.

FIG. 4 b shows a block diagram exemplary of an optical reader, which isadapted to receive control instructions resulting in a change in anoperating program of a reader. In addition to having the elements ofsingle state reader circuit of FIG. 4 a, reader 10 b includes a keyboard13 k for inputting data including instructional data and a display 14 dfor displaying text and/or graphical information to an operator.Keyboard 13 k may be connected to bus 48-1, ASIC 44 or to processor 42as indicated. Display 14 d may be connected to ASIC 44, to processor 42or to system bus 48-1 as is indicated in the particular embodiment ofFIG. 4 b.

An operator operating optical reader 10 b can reprogram reader 10 b in avariety of three different ways. In one method for reprogramming reader10-b, an operator actuates a control button of keyboard 13 k which hasbeen pre-configured to result in the reprogramming of reader 10 b. Inanother method for reprogramming reader 10 b an operator actuatescontrol of a processor system not integral with reader 10 b to transmitan instruction to reprogram reader 10 b. According to another method forreprogramming reader 10 b, an operator moves reader 10 b so that a “menusymbol” is in the field of view of image sensor 32 and then activatestrigger 13 t of reader 10 b to capture an image representation of themenu symbol. A menu symbol is a specially designed bar code symbolwhich, when read by an appropriately configured optical reader resultsin a reader being programmed. The reprogramming of an optical readerwith use of a menu symbol is described in detail in commonly assignedU.S. Pat. No. 5,965,863 incorporated herein by reference. Because thesecond and third of the above methodologies do not require actuation ofa reader control button of keyboard 13 k but nevertheless result in areader being reprogrammed, it is seen that reader may be keyboardlessbut nevertheless reprogrammable.

A typical software architecture for an application operating programtypically executed by an optical reader as shown in FIG. 3 b is shown inFIG. 5, which depicts a memory map of a program stored in program memory47-1. Application operating program 60 adapts a reader for a particularapplication. Three major applications for an optical reader imagingdevice having image capture capability are: (1) bar code symbologydecoding; (2) optical character recognition; and (3) signature capture.In a bar code symbology decoding application, reader 10 maypreliminarily analyze and then decode a message corresponding to a barcode symbol. In a character recognition application reader 10 may locatedecodable OCR characters, then execute an OCR algorithm to decode themessage corresponding to the OCR characters. In a signature captureapplication, reader 10 may capture an image corresponding to a scenehaving a signature, parse out from the image data that image datacorresponding to a signature, and transmit the captured signature datato another processing system. It is seen that the third of suchapplications can be carried out by an optical reader imaging device thatis not an optical reader decoder equipped with decoding capability.Numerous other application operating programs are, of course possible,including a specialized 1D decoding application, a specialized 2D barcode decoding algorithm, a hybrid bar code decoding, an OCR decodingapplication, which operates to decode either decodable bar code symbolsor OCR decodable text characters, depending on what is represented in acaptured image.

Referring now to specific aspects of the software architecture of anoperating program 60, program 60 includes an instructions section 62,and a parameter section 64. Further, instruction section 62 may includeselectable routine section 62 s. Instructions of instruction section 62control the overall flow of operation of reader 10. Some instructions ofinstruction section 62 reference a parameter from a parameter table ofparameter section 64. An instruction of instruction section 62 may statein pseudocode, for example, “Set illumination to level determined by[value in parameter row x].” When executing such an instruction ofinstruction section 62, control circuit 40 may read the value ofparameter row 64 x. An instruction of instruction section 62 may alsocause to be executed a selectable routine that is selected depending onthe status of a parameter value of parameter section 64. For example, ifthe application program is a bar code decoding algorithm then aninstruction of instruction section 62 may sate in pseudocode, forexample, “Launch Maxicode decoding if Maxicode parameter of parameterrow 64 y is set to “on.” When executing such an instruction, controlcircuit 40 polls the contents of row 64 y of parameter section 64 todetermine whether to execute the routine called for by the instruction.If the parameter value indicates that the selectable routine isactivated, control circuit 40, executes the appropriate instructions ofroutine instruction section 62 s to execute the instruction routine.

It is seen, therefore, that the above described software architecturefacilitates simplified reprogramming of reader 10. Reader 10 can bereprogrammed simply by changing a parameter of parameter section 64 ofprogram 60, without changing the subroutine instruction section 62 s orany other code of the instruction section 62 simply by changing aparameter of parameter section 64. The parameter of a parameter value ofsection 62 can be changed by appropriate user control entered viakeyboard 13 k, by reading a menu symbol configured to result in a changein parameter section 64, or by downloading a new parameter value ortable via a processor system other than system 40-1. The reprogrammingof reader 10 b can of course also be accomplished by downloading anentire operating program including sections 62 and 64 from a processorsystem other than system 40-1. Reader 10 may also have customization andreprogramming as described in U.S. application Ser. No. 10/402,885entitled “Customizable Optical Reader,” filed Mar. 28, 2003,incorporated herein by reference in its entirety.

Another architecture typical of an optical reader is shown in FIG. 4 c.Reader 10 c includes processor system 40 s 1, and an integrated hostprocessor system 40 s 2 which includes host processor 40 hp and anassociated memory 45-2. “Host processor system” herein shall refer toany processor system which stores a reader application operating programfor transmission into a processor system controlling operation of areader imaging system 33 or which exercises supervisory control over aprocessor system controlling operation of a reader imaging system 33, orwhich stores in it's associated memory more than one applicationoperating program that is immediately executable on reception of acommand of a user. In a reader having two processors such as processor42 and processor 40 hp, processor 42 is typically dedicated to processan image data to decode decodable indicia, whereas processor 40 hp isdevoted to instructing processor 42 to execute decoding operations,receiving inputs from trigger 13 t and keyboard 13 k, coordinatingdisplay and other types of output by output devices 14 d, 14 g, and 14 aand controlling transmissions of data between various processor systems.

In the architecture shown in FIG. 4 c having dedicated decodingprocessor system 40 s 1 and a powerful, supervisory host processorsystem 40 s 2, host processor system 40 s 2 commonly has stored thereonan operating system, such as DOS WINDOWS or WINDOWS, or an operatingsystem specially tailored for portable devices such as, WINDOWS CEavailable from Microsoft, Inc. In the case that host processor system 40s 2 includes an operating system such as DOS or WINDOWS CE, theinstruction section and parameter section of the operating programcontrolling the operation of host processor system 40 s 2 normally areprogrammed in a high level programming language and assembled by anassembler before being stored in memory 47-2 and therefore may notreside in consecutive address locations as suggested by program 60 shownin FIG. 5. Nevertheless, host processor system 40 s 2 having anoperating system integrated thereon can readily assemble an operatingprogram into such a form for loading into an external processor systemthat does not have an operating system stored thereon.

Referring to further aspects of readers 10 a, 10 b, and 10 c at leastone I/O interface e.g. interface 37-1, 37-2, and 37-3 facilitates local“wired” digital communication such as RS-232, Ethernet, serial busincluding Universal Serial Bus (USB), or local wireless communicationtechnology including “Blue Tooth” communication technology. At least oneI/O interface, e.g. interface 37-3, meanwhile, facilitates digitalcommunication with remote processor system 41-1 in one of availableremote communication technologies including dial-up, ISDN, DSL, cellularor other RF, and cable. Remote processor assembly 88-1 may be part of anetwork 88N of processor systems as suggested by assemblies 88-2, 88-3,and 88-4 links 88L and hub 88H e.g. a personal computer or main framecomputer connected to a network, or a computer that is in communicationwith reader 10 c only and is not part of a network. The network 88N towhich system 88-1 belongs may be part of the Internet. Further, assembly88-1 may be a server of the network and may incorporate web pages forviewing by the remaining processor assemblies of the network. Inaddition to being in communication with reader 10 c, system 88-1 may bein communication with a plurality of additional readers 10′ and 10.″Reader 10 c may be part of a local area network (LAN). Reader 10 maycommunicate with system 88-1 via an I/O interface associated with system88-1 or via an I/O interface 881 of network 88N such as a bridge orrouter. While the components of readers 10 a, 10 b, and 10 c arerepresented in FIGS. 4 a-4 c as discreet elements it is understood thatintegration technologies have made it possible to form numerous circuitcomponents on a single integrated circuit chip. For example, withpresent fabrication technologies, it is common to form components suchas components 42, 40, 46-1, 47-1, 37-2, and 37-1 on a single piece ofsilicone.

Furthermore, the number of processors of reader 10 is normally of nofundamental significance to the present invention. In fact if processor42 is made fast enough and powerful enough, special purpose ASICprocessor 44 can be eliminated. Likewise referring to reader 10 c asingle fast and powerful processor can be provided to carry out all ofthe functions contemplated by processors 40 hp, 42, and 44 as isindicated by the architecture of reader 10 e of FIG. 4 e. Still further,it is understood that if reader 10 includes multiple processors theprocessors may communicate via parallel data transfers rather than viathe serial communication protocol indicated by serial buses 48-1 and48-2. In addition, there is no requirement of a one-to-onecorrespondence between processors and memory. Processors 42 and 40 hpshown in FIG. 4 c could share the same memory, e.g. memory 45-1. Asingle memory e.g. memory 45-1 service multiple processors e.g.processor 42 and processor 40 hp.

Referring to the embodiment of FIG. 4 d, it is seen that it is notnecessary that the entirety of electrical components of an opticalreader 10 be incorporated in a portable device housing 11. Theelectrical components of reader 10-4 are spread out over more than onecircuit boards that are incorporated into separate device housings 11and 71. It is understood that circuitry could be spread out intoadditional housings. Control circuit 40 in the embodiment of FIG. 4 d isincorporated entirely in the housing 71 that is nonintegral withportable device housing 11. Housing 71 is shown as being provided by apersonal computer housing, but could also be provided by another type ofhousing such as a cash register housing, a transaction terminal housingor a housing of another portable device such as housing 11. At least oneoperating program for controlling imaging assembly 33 and for processingimage signals generated from imaging assembly 33 is stored in EROM 47-1located within PC housing 71. For facilitating processing of signalsgenerated from imaging assembly 33 by a processor system that is notintegrated into portable housing 11 a high-speed data communication linkshould be established between imaging assembly 33 and processor system.In the embodiment of FIG. 4 d, I/O interfaces 37-4 and 37-5 andcommunication link 39 may be configured to operate according to the USBdata communication protocol. The configuration shown in FIG. 4 d reducesthe cost, weight, and size requirements of the portable components ofreader 10 d, which in reader 10-4 are the components housed withinportable housing 11. Because the configuration of FIG. 4 d results infewer components being incorporated in the portable section of reader10-4 that are susceptible to damage, the configuration enhances thedurability of the portable section of reader 10-4 delimited by housing11.

The reader communication system of FIG. 4 e has a physical layoutidentical to reader 10 d, but is optimized for a different operation.System 67 is a communication system in which reader processor system 40s communicated with a nonintegrated local host processor system 70 sprovided by a personal computer 68 having a PC housing 71, a keyboard 68d, a mouse 68, and a display 68 d. Provided that link 67L is ahigh-speed communication link, nonintegrated local host processor system70 s could be programmed to provide functioning identical to processorsystem 40 s of reader 10 d. However, because reader 10 e comprises anintegrated processor system 40 s such programming is normallyunnecessary, although as described in copending application Ser. No.09/385,597, incorporated herein by reference in its entirety, it isuseful to configure processor system 40 s so that certain components ofreader 10 such as trigger 13 t can be controlled remotely by hostprocessor system, which in one embodiment is nonintegrated. Accordinglyin reader-host communication systems as shown in FIG. 4 e nonintegratedhost processor assembly 68 typically is programmed to provide functionsseparate from those of the reader processor systems described inconnection with FIGS. 4 a-4 d.

As described in U.S. Pat. No. 5,965,863, incorporated herein byreference in its entirety, one function typically provided bynonintegrated local host processor system 70 s is to create operatingprograms for downloading into reader 10. Processor system 70 s typicallyhas an operating system incorporated therein, such as WINDOWS, whichenables an operator to develop operating programs using a graphical userinterface. Nonintegrated local processor system 70 s also can beconfigured to receive messages an/or image data from more than onereader, possibly in a keyboard wedge configuration as described asdescribed in U.S. Pat. No. 6,161,760, incorporated herein by reference.It is also convenient to employ processor processing. For example aspreadsheet program can be incorporated in system 70 s which is usefulfor analyzing data messages from reader 10 e. An image processingapplication can be loaded into system 70 s which is useful for editing,storing, or viewing electronic images received from reader 10 e. It isalso convenient to configure reader 10 e to coordinate communication ofdata to and from remote processor assembly 88-1. Accordingly processorassembly 68 typically includes I/O interface 74-2, which facilitatesremote digital communication with a remote processor assembly, e.g.assembly 88-1 as shown in FIG. 4 c.

In FIG. 6, a block diagram of an optical reader electrical circuit isshown having a multi-functional processor IC chip 180 including anintegrated frame grabber block 148. Electrical circuit 100 shown in FIG.6 can be utilized for control of a single 2D imaging module opticalreader as is shown for example in U.S. Ser. No. 09/954,081, filed Sep.17, 2001, entitled “Optical Reader Having Image Parsing Mode”, which ishereby incorporated herein by reference in its entirety.

In an illustrative reader embodiment, electrical circuit 100 includes acontrol circuit 140 comprising CPU 141, system RAM 142 and system ROM143 and frame grabber block 148. Electrical circuit 100 further includesan image sensor 32 typically provided by a photosensitive array and anillumination block 160 having illumination LEDs 16 and aiming LEDs 18 asshown in the physical form view of FIGS. 3 a-3 c. Image sensor 32 ofFIG. 6 is shown as being provided by a 2D photo diode array. If a 1Dimage sensor replaces image sensor 32, then aiming LEDs 18 andillumination LEDs 16 may be constituted by one set of LEDs. In theembodiment shown, image sensor 32 is incorporated in an image sensor ICchip 182 which typically further includes an image sensor electricalcircuit block 134. Image sensor electrical block 134 includes controlcircuit 135 for controlling image sensor 32, an A/D conversion circuit136, for converting analog signals received from image sensor 32 intodigital form and integrated clock 137 sometimes referred to as anoscillator. It will be understood that functions referred to hereindescribed as being performed by control circuit 140 can also beperformed by control circuit 40 (FIGS. 4 a-4 e).

As further illustrated in FIG. 6, CPU 141 and frame grabber block 148are incorporated in a multi-functional IC chip 180 which in addition toincluding CPU 141 includes numerous other integrated hardwarecomponents. Namely, multifunctional IC chip 180 may include a displaycontrol block 106, several general purpose I/O ports 116, severalinterface blocks such as a USB circuit block 107 and a UART block 108for facilitating RS 232 communications, a UART block 109 forfacilitating infra-red communications (including communication accordingto standards promulgated by the INFRARED DATA ASSOCIATION₇ (IrDA₇), atrade association for defining infrared standards), and a pulse widthmodulation (PWM) output block 110. Multi-functional processor IC chip180 can also have other interfaces such as a PCMCIA interface 111, acompact flash interface 112, and a multimedia interface 113. If reader10 includes a display 13 d, display 13 d may be in communication withchip 180 via display interface 106. Trigger 13 t and keypad 13 k may bein communication with chip 180 via general purpose I/O interface 116.Physical form views of readers having displays and keyboards are shownfor example in U.S. application Ser. No. 10/137,484, filed May 2, 2002,entitled “Optical Reader Comprising Keyboard,” which is herebyincorporated herein by reference in its entirety. Multi-functionalprocessor IC chip 180 may be one of an available type of multifunctionalIC processor chips which are presently available such as a DragonballMXI IC processor chip or a Dragonball MXL IC processor chip availablefrom Motorola, a DSC IC chip of the type available from TexasInstruments, an O-Map IC chip of the type available from TexasInstruments, or a multifunctional IC processor chip of a variety knownas Clarity SOC's (e.g., system on a chip) available from Sound Vision,Inc.

In one embodiment, multi-functional processor IC chip 180 comprisescomponents that provide at least the functions provided by a CPU 140,system RAM 142 and system ROM 143. In some embodimentsmicroprocessor-based decoder module 180 comprises an integrated circuitdevice having integrated therein a microprocessor, an analog-to-digitalconverter, a digital-to-analog converter, a direct memory access (DMA)channel, a bi-directional communication line for communication with asensor such as either or both of line 151 and 152, and a channel fordata receipt from a sensor, such as data line 159 that brings data toframe grabber 148. The microprocessor-based IC chip 180 can comprisesemiconductor materials, optical materials, and photonic bandgapmaterials. In some embodiments the multi-functional processor IC Chip180 further comprise I/O 116 suitable to accept user input (for examplefrom a keyboard 13 k), interface capability for “flash” memory devicessuch as “Multimedia” (MMC), “Smart Media,” “Compact Flash,” and “MemoryStick.” Other features may include pulse width modulators (PWM's),serial communication channels (e.g., UARTs, SPIs, and USBs), displaydrivers and controllers such as for an LCD, wireless communicationcapability such as Bluetooth and 802.11 (a), (b), and (g)-compatibletransmitter/receivers, sequence control modules such as timer banks,sensor controllers, audio generators, audio coder/decoders (“codecs”),speech synthesizers, and speech recognition hardware and/or software.

Frame grabber block 148 of IC chip 180 replaces the function of a framegrabbing field programmable gate array (FPGA) as discussed in commonlyassigned application Ser. No. 09/954,081, filed Sep. 17, 2001, entitled“Imaging Device Having Indicia-Controlled Image Parsing Mode,” and Ser.No. 09/904,697, filed Jul. 13, 2001, entitled “An Optical Reader Havinga Color Imager,” both of which are hereby incorporated herein byreference in their entirety. More particularly, frame grabber block 148is specifically adapted collection of hardware elements programmed tocarry out, at video rates or higher, the process of receiving digitizedimage data from image sensor chip 182 and writing digitized image datato system RAM 142 which in the embodiment shown is provided on adiscreet IC chip. Frame grabber block 148 includes hardware elementspreconfigured to facilitate image frame capture. Frame grabber block 148can be programmed by a user to capture images according to a user'ssystem design requirements. Programming options for programming framegrabber block 148 include options enabling block 148 to be customized tofacilitate frame capture that varies in accordance with image sensorcharacteristics such as image sensor resolution, clockout rating, andfabrication technology (e.g., CCD, CMOS, CID), dimension (1D or 2D),tonality (from 1 to N-bits), color (monochrome or color), biometricfeatures, such as fingerprints, retinal patterns, facial features, andone- and two-dimensional patterns that can provide information, such aschromatography patterns and electrophoretic patterns of mixtures ofsubstances, including substances such as biological samples comprisingDNA. A decoder board adapted to operate in a manner dependent on sensorattached thereto is described in U.S. patent application Ser. No.10/339,439, filed Jan. 9, 2003, entitled, “Decoder Board For An OpticalReader Utilizing A Plurality Of Imaging Formats,” incorporated byreference.

Aspects of the operation of circuit 100 when circuit 100 captures imagedata into RAM 140 are now described. Circuit 100 can perform a cycle ofreceiving a frame of image data, performing internal programmingfunctions, and decoding the frame of image data in a time period of lessthan or equal to a second. In one aspect, the circuit 100 performs thecycle in a time period of less than or equal to 1/30 of a second. Inanother aspect, the time period can be less than or equal to 1/270 of asecond. When trigger 13 t is pulled, CPU 141, under the operation of aprogram stored in system ROM 143, writes an image capture enable signalto image sensor chip 182 via communication line 151. Line 151, like theremainder of communication lines described herein represents one or morephysical communication lines. In the embodiment shown, wherein imagesensor chip 182 is of a type available from IC Media Corp., I²Cinterface 115 of chip 180 is utilized to facilitate communication withchip 182 (if another image sensor chip is selected another type ofinterface, e.g. interface 116, may be utilized). Other types of signalsmay be sent over line 151 during the course of image capture. Line 151may carry, for example, timing initialization, gain setting and exposuresetting signals.

When control block 135 of image sensor chip 182 receives an imagecapture enable instruction, control block 135 sends various signals toframe grabber block 148. Image sensor control block 135 typically sendsvarious types of synchronization signals to frame grabber block 148during the course of capturing frames of image data. In particular,control block 135 may send to frame grabber block 148 “start of framesignals” which inform frame grabber block 148 that chip 182 is ready totransmit a new frame of image data, “data valid window” signals whichindicate periods in which a row of image data is valid, and “dataacquisition clock” signals as established by clock 137 controlling thetiming of image data capture operations. In the embodiment described,line 152 represents three physical communication lines, each carryingone of the above types of signals. In an alternative embodiment,vertical and horizontal synchronization signals are processed by framegrabber 148 to internally generate a data valid window signal. Framegrabber block 148 appropriately responds to the respectivesynchronization signals, by establishing buffer memory locations withinintegrated RAM 149 of block 148 for temporary storage of the image datareceived from image sensor chip 182 over data line 159. At any timeduring the capture of a frame of image data into system RAM 142, bufferRAM 149 of frame grabber block 148 may store a partial (e.g., about 0.1to 0.8) or a full line of image data.

The process of receiving or capturing a frame of image data (i.e., 1D or2D symbology, text, image, or other indicia) that meets the thresholdcriteria of signal contrast, brightness, or other image characteristicsutilized by the imager control algorithm will hereinafter be referred toas obtaining an acceptable image. Thus, an acceptable image is one thatfalls within a configured tolerance of the target image requirements setforth by the algorithm. There are many factors that can affect howacceptable images are obtained. For example, the level of ambientlighting in the imaging environment, the distance of the object from theimager, the contrast characteristics of the object, and others canaffect the quality of the acquired image. The quality of the imagercontrol algorithm in an image reader can be gauged by its ability toutilize multiple configuration settings and adapt itself to a variety ofimaging situations while acquiring acceptable images. Thus the qualityof the imager control algorithm can be further measured by how quicklythe algorithm is able to configure the imager to take acceptable imagesin any given scanning environment.

An embodiment of the invention is directed to a process for obtaining anacceptable image with an image reader that involves adjusting the framerate of the imager alone or in conjunction with signal gain and/orexposure time parameters. In an aspect of the embodiment, the frame ratemay be automatically adjusted by configuring the imager or,alternatively, manually adjusted by manipulating the supportinghardware. In an aspect, the process is directed to obtaining anacceptable image at a maximum frame rate of the imager. The maximumframe rate is herein defined as the highest frame rate that will supporta desired exposure time and signal gain to obtain an acceptable image.

As those persons skilled in the art will understand, the frame rate ofdigital imagers is often configurable. The imager can be set to run atone of a plurality of frame rates supported by the hardware and/orsoftware of the imaging chip. For example, the Toshiba TCD1304AP onedimensional digital image reader is capable of running as fast as 270pfs, and as slow as external hardware will allow. A two-dimensionalimager such as the IC Media 105A, for example, is capable of running asfast as 30 pfs, and as slow as 1 pfs. Depending upon the imager, framerates can realistically vary between several seconds per frame to over1,000,000 pfs. In certain image sensors, the frame rate configuration ofthe chip can be programmed through configuration registers on the partitself. For example, the IC Media 105A has a configuration register thatcan be set to run the imager at 30 pfs, 20 pfs, 15 pfs, 12 fps, 10 pfs,6 pfs, 5 pfs, 4 fps, 3 fps, 2 fps, or 1 pfs. For a selected frame rate,the exposure time (i.e., the time that the pixels are allowed to gaincharge) can be configured to be very close to the individual frame timeitself. Thus, a frame rate of 20 pfs will produce a maximum frame timeof approximately 50 ms.

As optical systems continue to shrink in size, less light transmissionthrough the system, or less sensitivity of a given image sensor can makeeven the longest sustainable exposure time of a given frame durationinadequate for obtaining sufficient image brightness, contrast, andother characteristics of an acceptable image, in certain environments.Accordingly, in those cases, it would be beneficial to adjust the framerate downward to a value that provides a longer exposure time. However,it is also desirable to run the system as fast as possible.

An exemplary process for obtaining an acceptable image with an imagereader at a maximum frame rate is set forth in the flow chart 11800 inFIG. 7. At block 12100, the reader is set with initial values of gain,exposure time and frame rate. In an aspect, the next occurring use ofthe reader will utilize the immediately preceding settings that wereused to obtain the last acceptable image. Alternatively, predetermineddefault settings for frame rate, exposure time, and gain may be set.Upon actuation of the reader, an image is acquired at block 12110. Atblock 12120, the image is evaluated based upon image characteristicssuch as signal level, contrast, and others. At block 12130, adetermination is made whether the imager is operating at its fastestcapability.

If it is determined that the imager is running at the fastest frame ratethat it is capable of, the process proceeds through block 12140 to afurther determination at block 12180, whether the acquired image neededmore illumination, and if so, whether the exposure and gain settings inthe imager were set at maximum for the operating frame rate. If thedetermination at step 12180 is either that the image did not need moreillumination (and perhaps required less), or that the exposure and gainsettings were not at maximum values, then, at block 12220 new exposureand gain settings are calculated that are, at most, maximum values forthe operating frame rate. The process then proceeds to step 12230 todetermine whether the image satisfies the criteria required by theimager control algorithm. If yes, the image is made available to thesystem at block 12240 for decoding, output, signature capture, or otherutilization. If the determination at block 12230 is negative, controlcircuit 140 sends the new exposure and gain settings to the imager atblock 12250 and another image is acquired at block 12110, repeating theprocess. It is convenient to note here that due to potential devicelimitations, the imager may be configured via control circuit 140 to gofrom a high exposure setting to a low exposure setting from one frame tothe next, however, the ability to change from a low exposure setting toa higher exposure setting may be limited. Since a hardware limitation ofthe IC Media device provides only for the lengthening of the exposure bya certain amount during each frame, it is advantageous, in an aspect, tolengthen the exposure at a faster frame rate. As such, when adjustingthe frame rate, the exposure setting need only be decreased, which canbe done from one frame to the next. Furthermore, if the intent is toutilize all of the options available other than frame rate adjustment(i.e., maximizing the exposure and gain settings), then frame rateadjustment can be resorted to as a last option. This may be desirablefor a variety of reasons. For example, when the frame rate is decreased,the imager is running slower. As a general rule, faster is better. Inaddition, as exposure times get longer, motion related blur may be anissue. Therefore, in an aspect, even when the frame rate of the imageris slowed, a maximum allowable gain will be set. In this way, exposuretimes are maintained for as short a duration as possible at the lowerframe rate. Accordingly, at block 12220, the exposure and/or gainsettings are adjusted for the fastest frame rate operation.

Proceeding from block 12180, if the control circuit 140 determines thatthe image did need more illumination and that the exposure and gainsettings were already at maximum, then the control circuit will adjustthe frame rate lower in order to obtain a brighter image. At block12190, the control circuit calculates a new exposure time that willprovide a desired illumination level, leaving the gain at a maximumsetting so as to utilize the shortest exposure time. At block 12200, acalculation is made to determine the fastest frame rate that can supportthe new exposure time. This fastest frame rate will then be the maximumframe rate. Once the maximum frame rate is determined at block 12200, anew exposure setting is calculated at block 12210 to reflect theexposure time at the new, maximum frame rate. The process then proceedsto step 12230 following the sequence described above.

Returning to the determination at block 12130 that the image wasacquired at a frame rate less than the fastest frame rate capability ofthe imager, leads to blocks 12150 12160 and 12170 that are identical toblocks 12190, 12200 and 12210, respectively. That is, at block 12150, anexposure time is calculated that will give the desired imageillumination. At block 12160, the fastest frame rate that will supportthis exposure time is calculated, and then at block 12170 the exposuresetting that will support the new exposure time is calculated. Afterblock 12170, the process proceeds to decision block 12230 and continuesas described above. According to the embodiment, when images areacquired at frame rates other than the fastest frame rate capability ofthe imager, the control circuit 140 provides a calculation to ensurethat the frame rate is optimized.

Referring again to decision block 12230, the decision, in practicalterms, is whether the image that was acquired is “good enough” to makeit available to the rest of the system for decoding, output, signaturecapture, or other applications. In some cases, the imager control willhave very specific criteria with small tolerances for accepting imagesthat only fall within a narrow window of variations. In other cases, theimager control may have no criteria whatsoever, such that the image ishanded to the system regardless of quality. At block 12250, the new,calculated settings are communicated to the device. At this point,different considerations may be required depending upon the type andconstruction of the sensor. For example, in the IC Media 105A camera,when an exposure change is made, it takes effect on the next frame, andis seen in the image captured during the following frame. Thus, if thechange is made between frames N and N+1, the change takes effect onframe N+1 and is seen during the transfer on frame N+2. However,changing the gain setting affects the data coming out of the imagerimmediately. For a certain exposure setting and gain setting to beapplied to a single image, if the exposure setting was applied betweenframes N and N+1, the gain setting would need to be applied betweenframes N+1 and N+2 to provide the data coming out during frame time N+2with the resulting exposure and gain. With respect to frame rateadjustment, if the rate is changed between frames N and N+1, theexposure setting from frame N is nullified because the data coming outduring frame N+1 does not have a fixed exposure time. Thus, this frameshould be discarded.

In an illustrative aspect according to the invention, the digital imagereader utilizes an IC Media 105A 2-D digital image sensor. This is aCMOS based progressive scan sensor that uses an electronic “rollingshutter,” the operation of which is illustrated with reference to FIG.8. Unlike a “snapshot shutter” typically used in CCD-based imagers,which expose all of the pixels in the array at the same time, a CMOSbased sensor utilizing a rolling shutter operates on a time-triggeredbasis. The rolling shutter allows a single pixel's exposure time (or agroup of pixel's exposure time, such as that of a single row or selectedgroup of rows; e.g., two or four rows in a color imager) to be acquiredrelative to when the pixels or groups of pixels are to be transferredout of the imager. In the case of the IC Media 105A imager, each row2502 _(n) of pixels is exposed during differing, but overlapping, timeperiods as shown at 5002. In operation, for example, if the imager wereset for an exposure time of Xms, then each row would begin its exposureperiod exactly Xms before the time for that row to be transferred outfrom the device. The illustrative IC Media 105A imager has 525 rows,however only 480 of them are active rows, which collect light, theremaining rows being either light shielded or simply padding. The amountof time needed to transfer a given row out of the imager (hereafterknown as a “row time”), and also the amount of time delay between whenthe exposure of a given row N begins and the time when the exposure ofrow N+1 begins, is F/525, where F is the time from a given point in oneframe to the same point in the next frame (known as the “frame time,”which equals 1/(frame rate) in units of time) as shown at 5004.Therefore, if the imager were configured to run at a 30 pfs frame rate,then the frame time, F, would be 1/30 pfs or 33.3 ms, and the row timefor this image would be 33.3 ms/525 or 63.5 μs. If, for example, theimager were configured to run at a 12 fps frame rate, then the frametime would be 1/12 fps or 83.3 ms, and the row time for this image wouldbe 83.3 ms/525 or 159 μs.

In the illustrative embodiment, exposure settings are communicated tothe IC Media 105A sensor over the I²C interface, and are configured inunits of “row time”. In this device, the exposure setting can be a valuebetween 1 and 524, indicating that the exposure time of pixels can be aslittle as 1/525 to as much as 524/525 of the frame, in increments of1/525 of the frame time. This relationship establishes why thecalculation of a new frame rate should be determined before a newexposure setting is configured. With respect to the algorithm 11800, theillumination of the current image is evaluated at block 12180 and theactual exposure time is calculated by determining the frame time basedon the current frame rate, establishing the row time, and multiplyingthat by the exposure setting used for the current image. Using thewell-known relationship between image illumination and exposure time, anew exposure time is determined that will meet the desired imageillumination. Given this desired exposure time, a frame rate isdetermined by finding the fastest frame rate, where, if an exposuresetting of 524 were used, for example, would have an exposure timegreater than the desired exposure time. After having determined thefastest frame rate, the row time is calculated for this frame rate andthe exposure setting that would result in the closest exposure time tothe desired exposure time is determined. For example, if it weredetermined that for proper illumination an exposure time of 121 ms wasneeded, the fastest frame rate that would support the desired exposuretime of 121 ms would be 6 pfs. This is due to the maximum exposure timeavailable for the imager. In the illustrative embodiment using the ICMedia 105A imager, the frame rates and corresponding maximum exposuretimes are as follows: at 30 pfs, 33.27 ms; at 20 pfs, 49.9 ms; at 15pfs, 66.5 ms; at 12 fps, 83.2 ms; at 10 pfs, 99.8 ms; at 6 pfs, 166 ms;at 5 pfs, 199 ms; at 4 fps, 250 ms; at 3 fps, 332 ms; at 2 fps, 499 ms;and at 1 pfs, 998 ms. Thus at 6 pfs, the row time is (⅙ pfs)/525, or 317μs. Therefore, the desired exposure setting to get as close to 121 ms ofexposure time as possible is the desired exposure time divided by therow time, or 121 ms/317 μs, which is an exposure setting of 382 (thisgives an actual exposure time of 121.3 ms).

Referring to further aspects of electrical circuit 100 in FIG. 6,circuit 100 includes a system bus 150. Bus 150 may be in communicationwith CPU 141 via a memory interface such as EIM interface 117 of IC chip180. System RAM 142 and system ROM 143 are also connected to bus 150 andin communication with CPU 141 via bus 150. In the embodiment shown, RAM142 and ROM 143 are provided by discreet IC chips. System RAM 142 andsystem ROM 143 could also be incorporated into processor chip 180.

In addition to having system RAM 142, sometimes referred to as “working”RAM, electrical circuit 100 may include one or more long-term storagedevices. Electrical circuit 100 can include for example a “flash” memorydevice 120. Several standardized formats are available for such flashmemory devices including: “Multimedia” (MMC), “Smart Media,” “CompactFlash,” and “Memory Stick.” Flash memory devices are convenientlyavailable in card structures which can be interfaced to CPU 141 via anappropriate “slot” electro mechanical interface in communication with ICchip 180. Flash memory devices are particularly useful when the readermust archive numerous frames of image data. Electrical circuit 100 canalso include other types of long term storage such as a hard drive whichmay be interfaced to bus 150 or to an appropriate I/O interface ofprocessor IC chip 180.

In a further aspect of electrical circuit 100, control circuit 140 isconfigured to control the turning “OFF” and turning “ON” of LEDs 16, 18of illumination block 160. Control circuit 140 preferably controlsillumination block 160 in a manner that is coordinated with thecapturing of the frames of image data. Illumination LEDs 16 aretypically “ON” during at least a portion of frame capture periods.Configuring circuit 140 so that LEDs 16, 18 have “OFF” periodssignificantly reduces the power consumption of circuit 100.

In a further aspect of the electrical circuit 100, electrical circuit100 can be configured so that PWM output interface 114 of IC chip 180controls illumination LEDs of an imaging module such as illuminationLEDs 16 of module 10-1 or aiming/illumination LEDs 18 of module 10-2.

In one embodiment, illumination block 160 is in communication with PWMoutput interface 114 and configured in such manner that LEDs 16 areturned “ON” at a leading edge of PWM pulses output at PWM interface 114,and are turned “OFF” at falling edges of PWM pulses output at PWMinterface 114. PWM interface 114 should be configured so that severalpulses are generated and sent over communication line 153 i during thetime that a single row of pixels of image data are exposed to lightprior to clocking out of pixel values corresponding to that row. Thus,illumination LEDs 16 would be turned “ON” and “OFF” several times duringthe exposure period for exposing a row of pixels to light. Further, thenumber of pulses output by PWM output 114 during the time that a singlerow of pixels are exposed should not vary substantially from row to row.The pixel clock signal received at frame grabber block 148 of IC chip180 can be utilized to generate the PWM output. It can be seen,therefore, that multifunctional IC chip 180 including frame grabberblock 148 and PWM output 114 greatly simplifies the task of developingPWM signals for use in controlling illumination LEDs 16 of module 10.

In another embodiment, PWM output 114 and illumination block 160 areconfigured so that PWM output 114 controls the intensity ofillumination, not the on time/off time of illumination. Illumination LEDblock 160 in such an embodiment can include a power supply circuit whichis interfaced to PWM output 114 such that the PWM signal output at PWMoutput 114 varies the voltage or current supplied to LEDs 16.

In a further aspect of electrical circuit 100, aiming LEDs 18 of circuit100 can be controlled by a signal transmitted by a general purpose I/Oport 116 of IC chip 180 over communication line 153 a. Multifunctionalprocessor IC chip 180 can be programmed so that an aiming LED controlsignal is caused to change to an “ON” state when frame grabber block 148completes the process of capturing a complete frame of image data. Framegrabber block 148 may be configured to generate an “end of acquisition”or “end of frame” signal when frame grabber block 148 completes theprocess of capturing a complete frame of image data into RAM 142. WhenCPU 141 receives an “end of acquisition” signal, CPU 141 controls I/Oport 116 to change the state of LED control signal 168. Control circuit140 may also change the state of LED control signal 168 when generatinga start of frame signal. Control circuit 140 may execute a delay priorto changing the state of signal 168. Control circuit 140 is programmedso that LED control signal 168 remains in an “ON” state known to besufficiently short duration so as not to cause actuation of an aimingLED 18 during a succeeding frame exposure period. Configured in themanner described, aiming LEDs 18 are selectively pulsed “ON” for a shortduration during intermediate successive frame exposure periods. Controlcircuit 140 in one mode of operation selectively turns illumination LEDs16 “ON” during exposure periods and “OFF” intermediate exposure periods,and conversely turns aiming LEDs 18 “ON” intermediate frame exposureperiods and “OFF” during exposure periods. To the user, given the framerate, substrate's (as shown in FIG. 9 a) appears to simultaneously haveprojected thereon aiming pattern 1218 and illumination pattern 1216 asindicated by FIG. 9 b, though in an instant of time only one or theother of the patterns 1216, 1218 is actually present.

While aiming LEDs 18 may be turned “OFF” during frame exposure periodsfor energy conservation purposes and for purposes of more uniformlyilluminating, a substrate, s, the inventors developed a mode ofoperation in which it is beneficial to turn aiming LEDs “ON” during aframe exposure period.

Control circuit 140 may be configured to operate in a “linear decode”mode of operation in which control circuit 140 is optimized for reading1 dimensional bar codes (such as UPC/EAN, Code 39, Code 128, UPC, ITF,LED 1316). One example of a linear decode mode of operation is describedwith reference to FIG. 9 a including time line 1400 in which aiming LEDcontrol signal 1318 and illumination LED 1616 signal are plotted againstexposure periods EXP_(N), EXP_(N+1), EXP_(N+2). In the linear decodemode described with reference to FIG. 9 a, control circuit 140 turnsaiming LEDs “ON” during frame exposure periods EXP_(N), EXP_(N+1),EXP_(N+2) and maintains illumination LEDs “OFF” throughout the time thatcontrol circuit 140 operates according to the linear decode mode. Thus,as shown in FIG. 9 a, an operator of a reader 10 in which module 50 isincorporated will observe aiming line 1218 without there being anillumination pattern 1216 projected on a target substrate. Maintainingillumination LEDs 16 “OFF” during the linear decode mode is useful for avariety of reasons. Maintaining illumination LEDs “OFF” during a lineardecode mode conserves power. Maintaining illumination LEDs “OFF” duringa linear decode mode also enhances the attention with which a userfocuses on aiming pattern 1218. Turning “ON” aiming LEDs 18 increasesthe signal strength of image signals corresponding to pixel locationsrepresenting an area illuminated by pattern 1218, and aids a user inaligning a reader with a symbol to be read.

Control circuit 140 and module 50 may be configured so that in a lineardecode mode, control circuit 140 preferentially processes image datacorresponding to an area of a target substrate illuminated by aimingpattern 1218. Control circuit 140 can process image data within an areacorresponding to aiming pattern 1218 by operating in a “partial framemode” as described in U.S. application Ser. No. 09/766,922, filed Jan.22, 2001, entitled “Optical Reader Having Reduced ParameterDetermination Delay,” incorporated by reference, and as described inU.S. application Ser. No. 09/766,806, filed Jan. 22, 2001, entitled“Optical Reader Having Partial Frame Operating Mode,” also incorporatedby reference. Control circuit 140 can also preferentially process imagedata corresponding to an area illuminated by aiming pattern 1218 bycapturing a full frame of image data and then commencing a decodeattempt by reading a line of pixel valves corresponding to an area of atarget expected to be illuminated by aiming pattern 1218. The readingout of a line of image data during a 1D symbology decode attempt issometimes referred to by skilled artisans as “launching a scan line.”

Another embodiment of a linear decode mode is illustrated with referenceto FIG. 9 b. In the linear decode mode depicted of FIG. 9 b, aiming LEDs18 are “ON” during exposure periods along with illumination LEDs 16. Theembodiment of FIG. 9 b in which both LEDs 16 and LEDs 18 are “ON” duringan exposure period is advantageous at least for the reason that itprovides for a capture of a high quality two-dimensional image. The highquality two-dimensional image can be processed (e.g., for 1D decoding,2D decoding, OCR) should a one-dimensional symbology decode attemptfail. It will be understood that any period as described herein can becharacterized by a rapid turning “ON” and “OFF” of LEDs 16 or 18 duringan exposure period, as is suggested by high-speed pulse segments 1516,1518.

In the examples of FIGS. 9 a and 9 b, there is a delay between frameexposure periods EXP_(N), EXP_(N+1), EXP_(N+2). An example of a lineardecode mode implemented in a reader having overlapping frame exposureperiods is explained with reference to FIG. 9 c. Overlapping frameexposed periods are common when certain types of image sensors are used,e.g., CMOS and CID image sensors. In the embodiment described withreference to signal-time plots 1520, 1530 of FIG. 9 c, aiming LEDs 18are pulsed “ON” during exposure periods and illumination LEDs 16 aremaintained “OFF” for the entire time the reader operates in the lineardecode mode. Control circuit 140 and module 50 can be configured so thataiming LED control signal 1318 is selectively pulsed “ON” during thetime that lines of pixels corresponding to area 1218 illuminated by LEDs18 are being exposed. Signal-time plots 1550, 1560 of FIG. 9 cillustrate possible operation of a reader having overlapping frameexposure periods in a “normal” mode of operation. Signal-time plot 1550illustrates control of aiming LEDs 18 in a “normal” mode. Signal-timeplot 1560 illustrates control of illumination LEDs 16 in a “normal”mode. In a “normal mode” of a reader having an overlapping frameexposure period, illumination LEDs 16 may be “ON” during course of timein which control circuit 140 captures frame of image data (LEDs 16 mayactually be “flickered” as indicated by pulses 1516, 1516, FIG. 9 b).Control circuit 140, however, selectively turns aiming LEDs 18 “ON” and“OFF” while operating in a “normal” mode. Specifically, while operatingin a “normal” mode, control circuit 140 may selectively turn aiming LEDs18 “OFF” during times that it is expected that middle rows of imagesensor 32 are being exposed so that light from LEDs 18 (projected todefine aiming pattern 1218) does not affect image signals generated bymiddle row pixels of image sensor 32. Because in accordance withsignal-time plot 1550, LEDs 18 are “ON” for a substantial portion of aframe capture period, pattern 1218 appears to be always projected to auser. It will be appreciated that selection of a single line horizontalaiming pattern 1218 (as opposed to a two dimensional pattern) inconnection with an image sensor reader having overlapping frame exposureperiods and line by line frame capture simplifies the task ofcontrolling aiming LEDs 18 to project a visible pattern 1218 withoutlight from the LEDs 18 affecting image signals generated by image sensor32.

For comparison, a control circuit 140 operating according to a normaldecode mode in which the control circuit 140 is optimized for decoding asymbology of an unknown type (1D or 2D) is described with reference toFIG. 9 d. In the embodiment described with reference to FIG. 9 d,illumination LEDs 16 are selectively turned “ON” during exposure periodsEXP_(N), EXP_(N+1), EXP_(N+2), while aiming LEDs 18 are selectivelyturned “ON” intermediate of the exposure periods EXP_(N), EXP_(N+1),EXP_(N+2). As alluded previously, illumination LEDs 16 and aiming LEDs18 can be repeatedly pulsed “ON” and “OFF”. Thus, referring to FIG. 9 billumination LEDs 16 can be rapidly pulsed “ON” and “OFF” during a frameexposure period, EXP_(N), EXP_(N+1) as suggested by high-speed controlpulses 1516. Likewise, aiming LEDs 18 can be rapidly pulsed “ON” and“OFF”, as is suggested by high speed control pulses 1518 as shown in thetiming diagram 401 of FIG. 9 b.

Reader 10 can be configured to be driven into a linear decode mode byselection of a menu-displayed icon 1701 as shown in FIG. 3 e. The icon1701 can be selected by “pointing and clicking” using a mouse,trackball, joystick or other pointer to move arrow 1702. Icon 1701 canbe selected by applying pressure to icon 1701 if display 13 is a touchscreen display having an associated touch screen overlay. Reader 10 canbe configured to be driven into a linear decode mode with use of anothermenu interface. For example, reader 10 can be configured to commenceoperation in a linear decode mode on the selection of an appropriate keyof a keyboard 13 k. Reader 10 can also be driven into the linear decodemode by reading a reprogramming “menu symbol” as described in U.S. Pat.No. 5,929,418, issued Jul. 27, 1999, entitled, “Optical Reader HavingImproved Menuing Features,” incorporated by reference. The selection ofthe linear decode mode may also be made remotely by input of a commandinto a nonintegrated host computer (e.g., a GUI or keyboard of a host200, 1802, 1824, 1834, as shown in FIG. 10).

In one embodiment of a linear decode mode, the linear decode mode is notceased until a user manually selects another operating mode. In anotherembodiment, reader 10 is configured on selection of the linear decodeoperating mode to operate in a linear decode mode, and thenautomatically switch to a normal decode mode of operation if a decodeattempt fails subsequent to a trigger signal being turned “ON”. Inanother embodiment, reader 10 is configured, on selection of a lineardecode mode to operate in a linear decode mode, and then automaticallyswitch to a normal decode mode of operation if there is no successfuldecoding of a symbol, a predetermined time subsequent to a triggersignal being turned “ON”. The predetermined time may be calculated basedon the frame rate. That is, the predetermined time may be considered tohave elapsed if after Y frames have been captured and subjected to adecode attempt, and decoding is still not successful. Trigger signalscan be caused to change state on the actuation of trigger 13 t. Triggersignals can also be caused to change state to an “ON” stateautomatically on the sensing of features in image data as explained inU.S. patent application Ser. No. 09/432,282, filed Nov. 2, 1999,entitled, “Indicia Sensor System For Optical Reader,” incorporated byreference. Trigger signals can also be caused to change state to an “ON”state by communication from a nonintegrated processor system M asexplained in U.S. patent application Ser. No. 09/385,597, filed Aug. 30,1999, entitled, “Optical Reader System Comprising Local Host ProcessorAnd Optical Reader” incorporated herein by reference in its entirety.

An embodiment of the invention wherein control circuit 140 is configuredto operate in a picture taking mode and in a decode mode, is describedwith reference to FIGS. 11 a and 11 b. The inventors observed that itmay be desirable to differentiate between imager control parameters usedfor picture taking and imager control parameters used for decoding. Forpicture taking, for example, the speed with which an image is taken isgenerally not an important consideration. Therefore, a long exposureperiod can be used with less artificial light. For decoding, speed ofimage capture is often critical. Users of optical readers demand thatthe readers they use decode decodable symbols quickly. Therefore,decoding is generally enhanced with use of substantial artificial lightand shorter exposure periods.

Referring to the flow diagram of FIG. 11 a, a mode selection of one apicture taking mode at block 2202 or decode mode at block 2204 causesbranching to one of blocks 2206, 2208, in which control circuit waitsfor a trigger signal to change to an “ON” state (trigger signals can becaused to switch to an “ON” state manually, manually remotely, orautomatically as described previously). At block 2210 control circuit140 loads an imager control parameter.

The “loading a imager control parameter” step as described herein can beaccomplished using any one of a number of known programming methods. Aprogram executed by control circuit 140 can have a “parameter table”storing a plurality of parameter values and the program may call one ormore parameters of the parameter table at a specific point of a programexecution. The loading of an imager control parameter step can beaccomplished by changing one or more values of a program's parametertable. The loading of an imager control parameter step can also beaccomplished by changing a destination of one or more program pointersor by any other known programming method for generating a command toredirect program flow.

The at least one imager control parameter loaded at block 2210 may takeon a variety of forms. The at least one imager control parameter may be(e.g., an exposure period value, a gain control value, an illuminationlevel value (controlling current to LEDs 16, 18), a frame rate, aninitial exposure period value, an initial gain value, an initialillumination level value (controlling current to LEDs 16, 18), or aninitial frame rate). In one particular example of the invention, aparameter loaded at block 2210 is a parameter that establishes a zeroillumination level generated by the aiming/illumination system of thereader during the course of the picture-taking mode (a parameter whichwhen read operates to cut off current to LEDs 16, 18). Photographquality under certain circumstances may be enhanced when an image iscaptured with LEDs 16, 18 “OFF”.

A parameter loaded at block 2210 may also be a variable of a formulaused to adjust a characteristic of frame capture over the course ofseveral frames as in the exposure period development method described inU.S. patent application Ser. No. 09/776,922, filed Jan. 22, 2001,entitled, “Optical Reader Having Reduced Parameter Determination Delay,”incorporated by reference. To illustrate an example of a formulavariable type parameter which could be loaded at block 2210, thevariable parameter could be a variable of the formula used to adjustcharacteristics of image capture over the course of several frames. In aspecific example, a next frame's (Frame N) exposure period could becalculated based on a relationship between a target frame white value(which may be calculated using a sample pixel white value data), anobserved frame white value, a previous frame's (Frame N-M, M1) exposureperiod and a variable, wherein the value of the variable depends onwhether the picture taking mode or the decode mode is selected. Theimager control parameter which is loaded at block 2210 may also comprisea series of instructions. For example, control circuit 140 at block 2210may alter a program pointer or set up an appropriate call or othersuitable command so that a dynamically linked library file (as .dll,.ocx or equivalent kinds of files) particular to the picture taking modeis installed. At block 2210, control circuit 140 may install a firstdynamically linked library (DLL) file for execution of first algorithmfor controlling (e.g., gain or exposure or illumination). At block 2230(executed during the decode mode) control circuit 140 may install asecond DLL for execution of a second algorithm for controlling (e.g.,gain, exposure, illumination level), wherein the second algorithmincludes a set of instructions different than the set of instructions ofthe first algorithm.

At block 2214, control circuit 140 captures a frame of image datautilizing the at least one imager control parameter loaded at block2210. For example, if the at least one parameter loaded at block 2210 isthe single parameter of a specific exposure period, control circuit 140at block 2214 captures a frame of image data into RAM 142 utilizing thespecific exposure period setting loaded at block 2210. It will beunderstood that capture block 2214 may actually include the capture ofone or more “parameter determination” frames of image data which arecaptured for purposes of developing a frame of image data intended foroutput at block 2220.

Referring again to the flow diagram of FIG. 11 a, control circuit 140 atblock 2220 outputs a frame of image data captured at block 2214.Outputting a frame of image data at block 220 may be accomplished in avariety of useful ways. Control circuit 140 may display the capturedimage on display 13 d, may send the image to a host 200 or network 1810(FIG. 10), or may send the image to a printer for printing.

If the decode mode is selected at block 2204, control circuit 140proceeds to block 2208 to wait for a trigger signal to change to an “ON”state as described previously. On the changing of a trigger signal to an“ON” state at block 2208, control circuit 140 loads at least one decodemode imager control parameter in the manner of the loading of thepicture taking imager control parameters as described relative to block2230. At block 2234, control circuit 140 captures a frame of image datainto RAM 142 utilizing the at least one imager control parameter loadedat block 2230. As explained with reference to capture block 2214, thecapture block 2234 may actually involve a series of frame capture stepsincluding capturing of “parameter determination” frames of image data.At block 2238, control circuit 140 decodes a decodable symbol. Asexplained in U.S. Pat. No. 5,929,418, issued Jul. 27, 1999, entitled,“Optical Reader Having Improved Menuing Features,” incorporated hereinby reference in its entirety, it is understood that the capture anddecode steps 2234 and 2238 may comprise a series of frame captures andfailed decode attempts until a decodable symbol represented in acaptured frame of image data is successfully decoded. The decodealgorithm launched at block 2238 may be a bar code decoding algorithm.Aspects of decoding algorithms for decoding various types of symbols areknown and are publicly available. AIM, Inc., the Association forAutomatic Identification and Data Capture Technologies, publishes barcode symbology standards and notices. Various bar code standards areavailable from the AIM, Inc. website, www.aimglobal.org. The symboldecoded at block 2238 in addition to being a bar code may be (e.g., adecodable character such as an OCR character or a fingerprint) Furtheraspects of decodable symbol decoding are described in the previouslyreferenced U.S. patent application Ser. No. 09/904,647.

At block 2242, control circuit 140 outputs a decoded out message,typically in the form of a character string in the case the decodedsymbol decoded at block 2238 is a bar code symbol. The outputting of thedecoded out message may be accomplished by displaying a decoded outmessage on a display 13 d and/or sending a decoded out message to adevice (e.g., a host computer 200 or network 1810) external from reader10.

An example of image capture block 2214 in which at least one “parameterdetermination” frame of image data is captured for parameterdetermination prior to a frame being captured for output is describedwith reference to the flow diagram of FIG. 11 d.

At block 2304, control circuit 140 captures a frame of image datautilizing a present exposure period value. If the frame captured atblock 2304 is the first frame captured after reader 10 is driven into apicture taking mode, then the exposure period value may be an initialexposure period value loaded at block 2210 and selected to yield animage of high visual quality (another picture taking mode imaging inputsuch as gain or illumination level could also or in the alternative beapplied at block 2304). At block 2306, control circuit 140 determines ifthe last captured frame is to be output. For example, reader 10 can beset up so that a second, third or Nth frame is output after the previousframes are processed for parameter determination. In certain imagingsystems, a parameter derived by analysis of captured image data is notavailable for input until after a plurality of frames have beencaptured. At block 2310, control circuit 140 builds a histogramsummarizing the image data of the frame. A captured frame of image datatypically comprises a plurality of gray scale pixel values. Generally asample of pixel values are sampled from a full frame for purposes ofgenerating a histogram. Alternatively, a partial frame of image data canbe captured as described in copending application Ser. Nos. 09/766,806,filed Jan. 22, 2001, entitled “Optical Reader Having Partial FrameOperating Mode” and Ser. No. 09/766,922, filed Jan. 22, 2001, entitled“Optical Reader Having Reduced Parameter Termination Delay,”incorporated herein by reference in its entirety. A histogramcorresponding to a picture of a typical visual image (that is, not atypical decodable symbol) may take to form of picture taking modehistogram 2502 of FIG. 11 f. Histogram 2502, if corresponding to atypical visual display image, may comprise substantially an even countof pixels at each gray scale value (0-255 in an 8 bit gray scale)throughout the range of possible gray scale values.

At block 2316, control circuit 140 evaluates picture taking modehistogram 2502 according to a picture taking mode histogram evaluationcriteria. The inventors found that captured images have a high visualobservation quality if image capturing inputs (exposure period, gain,illumination level) are controlled so that a median gray scale value ofan image is at about a predetermined gray scale value, preferably a grayscale value in the middle (e.g., a gray scale value from about 55 toabout 200) of the gray scale. In the specific example of FIG. 11 f,histogram 2502 is evaluated to determine whether the median gray scalevalue of histogram is above or below the predetermined middle range grayscale value of 150. In other words, the median gray scale value of thehistogram 2502 is set to a set point. In order to achieve the set point,imaging inputs are controlled in accordance with the evaluation of thehistogram evaluation block 2316. If the captured image is too dark (ifthe median gray scale value of histogram 2502 is less than 150), controlcircuit 140 at block 2320 increases an exposure period value. If thecaptured image is too light, control circuit 2322 at block 2322decreases an exposure period value to lighten a subsequent image. Theexposure period adjustment steps at block 2320, 2322 could besubstituted for by another suitable image capturing input (e.g., gain,control or illumination level control).

In the flow diagram of FIG. 11 e, an example of decode mode imagecapture block 2334 having a plurality of image capturing steps includingparameter determination steps is described. The steps 2404, 2406, 2410,2416, 2418, 2420, and 2422 of decode mode image capturing block 2234 ofFIG. 11 e are the same as the steps 2304, 2306, 2310, 2316, 2318, 2320,and 2322 described with reference to the flow diagram of FIG. 11 dexcept for two points of distinction: first, the initial (E₀) decodemode exposure value period (or other initial imaging input) applied atthe first execution of block 2404 is a value different than the initial(E₀) picture taking mode exposure period value applied at block 2304. Ingeneral, an initial exposure period in a picture taking mode is selectedto be longer than an initial exposure period in a decode mode. Theinventors found that for high quality visual display (display whereinrepresented objects can readily be discerned by the human eye), lighterimages are preferred and that for decoding, darker and faster capturedimages can be utilized.

The second difference respecting the decode mode capture block 2234 asdepicted in FIG. 11 e and the picture taking mode image capture block2214 as depicted in FIG. 11 d is in relation to the application ofhistogram evaluation criteria (block 2416 as compared to block 2316). Ina decode mode histogram evaluation block 2416 a different histogramevaluation criteria is applied than the criteria applied at picturetaking mode histogram evaluation block 2316. A representation ofhistogram 2602 corresponding to an image of a black decodable symbol ona white substrate is shown on FIG. 11 g. Histogram 2602 represents whatmay be considered a bi-tonal image. Histogram 2602 includes a highnumber of gray scale values at a dark pixel range, as indicated by darkpeak 2610 and a high number of gray scale values at a light pixel rangeas is indicated by light peak 2620.

The inventors found that captured images are quickly obtained andreadily decoded if image capturing inputs (exposure period, gain,illumination level) are controlled so that a predetermined near peakgray scale value of a histogram corresponding to an image is at about apredetermined gray scale value, preferably a gray scale value in themiddle (e.g., a gray scale value from about 55 to about 200) of the grayscale. In the specific example of FIGS. 11 e and 11 f, histogram 2602 isevaluated to determine whether a predetermined 97% peak gray scale valueof histogram 2602 (the gray scale value at which 3% of gray scale valuesare above and 97% below) is above or below the predetermined middlerange gray scale value of 150. In other words, a predetermined near peakgray scale value of the histogram is set to a set point. In order toachieve the set point, imaging inputs are controlled in accordance withthe evaluation at the histogram evaluation block 2416. If the capturedimage is too dark (if the 97% gray scale value of histogram 2602 is lessthan 150), control circuit 140 at block 2420 increases an exposureperiod value to brighten the image. If the captured image is too light,control circuit 140 at block 2422 decreases an exposure period value.The exposure period adjustment steps at blocks 2420, 2422 could besubstituted for by another suitable image capturing input (e.g., gain,control or illumination level control). The use of a near peak value(e.g., 97%) at histogram evaluation block 2416 as opposed to a peakvalue (the highest gray scale value of the histogram) minimizes theimpact that spuriously high light values (as might be caused Referringnow to the flow diagram of FIG. 11 b an alternative embodiment of theinvention is described. In the embodiment of FIG. 11 b, control circuit140 is operable as described in FIG. 11 a except that control circuit140 further includes an automatic imaging mode as indicated by block2200. In an automatic imaging mode as described in previously referencedU.S. patent application Ser. No. 09/904,647, filed Jul. 13, 2001,entitled, “Applying A Color Imager To A Hand Held Reader For IndiciaReading And Image Capture,” an image is captured at block 2254 andsubjected to classification by a classification circuit at block 2258.At block 2258, the image can be classified on the basis of whether theimage includes a graphical symbol such as bar codes, text or OCRcharacters. High energy, (e.g., black-white transitions are a goodindicator for the presence of a graphical symbol, such as a bar codesymbol). Where image sensor 32 is a color image sensor, a black andwhite bi-tonal image will consist of green pixels that are in one of twopossible value ranges. One narrow range of values is representative ofwhite portions of the image, whereas the other narrow range of values isrepresentative of black portions of the image. Where image sensor 32 isa monochrome image sensor, a black and white bi-tonal image will consistof pixel values that are within one of two ranges at the extremes of thegray scale. Further aspects of graphical symbol detection are describedin greater detail in the previously referenced U.S. patent applicationSer. No. 09/904,647, filed Jul. 13, 2001, entitled, “Applying A ColorImager To A Hand Held Reader For Indicia Reading And Image Capture,” Indetermining whether a captured frame of image includes a bi-tonalgraphical symbol, control circuit 140 may evaluate whether a frame ofimage data includes pixel values in two distinguishable ranges of pixelvalues.

At block 2262, control circuit 140 processes the image captured at block2254 in a manner that depends on the classification of the image atblock 2258. For example, if at block 2258, control circuit 140determines that the captured image does not include a graphical symbol,then control circuit 140 may, without attempting to decode decodablesymbol, output the image in the manner described with reference to block2220. If control circuit 140 at block 2258 determines that the imagedoes in fact include a graphical symbol, control circuit 140 at block2262 may attempt to decode a decodable symbol therein and output adecoded out message (e.g., display the message on a display or sent itto host 200 or network 1810).

If at block 2262, control circuit 140 determined that an image does notinclude a graphical symbol, control circuit 140 may in the alternativeautomatically jump to block 2210 to load at least one “picture takingmode” imager control parameter, and then automatically execute blocks2214 and block 2220 as described previously to capture a subsequentframe of image data and to output the captured frame captioned at block2214. If at block 2262, control circuit 140 determines that an imagedoes, in fact, include a graphical symbol, control circuit 140 mayautomatically jump to block 2230 to load at least one decode mode imagercontrol parameter as described previously and then automatically jump toblock 2234 and then to block 2242 to decode a decodable symbol (block2238) and then output a decoded output message corresponding to thesymbol (block 2242).

Control circuit 140 may be driven into one of the picture taking, decodemode or automatic imaging modes by way of a user entering a command withuse of one of an available menu interface, as described previously withreference to selection of the linear decode mode. The picture taking,decode, and automatic imaging modes may be selected (e.g., with use of alocal or remote graphical user interface, with use of menu symbols, orby actuation of an appropriate key or a local or remote keyboard). Withreference to FIG. 3 e, a picture taking mode can be selected byactuation of icon 1702, a decode mode can be selected by actuation ofdecode mode icon 1701, 1703 an automatic imaging mode can be selected byactuation of icon 1704. Further, as will be described, “photographimprovement” mode of operation, which can be selected by actuation oficon 1705, or with use of another suitable menu interface (e.g., remoteGUI, local or remote keyboard key, menu symbol) describer herein.

According to another embodiment, illustrated in block form in FIG. 12, adigital image reading system 6000 includes an image reading component 10that contains and/or utilizes a plurality of digitizers (D₁. . . D_(n))6004 _(n), and an image decode component (not shown). The fundamentalpurpose of a digitizer is to accurately determine the bars and spaces(or other symbology contrast indicia of a particular dataform or code)so that the information can then be sent to the decode module fordecoding. As mentioned earlier, a “one size fits all” digitizer may havehigh failure rates under varying read conditions that do not fall withinthe operational window of the digitizer. For instance, a typical singledigitizer reader configured to optimally operate in a warehouseenvironment may work fine for a relatively long read distance. However,the same digitizer may produce inferior performance in a reader utilizedfor a relatively short reading distance, as in a supermarket checkoutfor example. Digitizers may also be optimally configured for parametersother than reading range; for example, bar code contrast, bar code colorcontrast, motion induced blur, and bar growth are illustrativeparameters that affect successful image capture. The range of eachparameter over which the digitizer will successfully operate will bedetermined by the various constraints built into the algorithm for theparticular digitizer.

According to the embodiment of the invention, the reader 10 illustratedin FIG. 12 may, for example, employ three separate digitizers D₁, D₂,and D₃, each of which is configured to operate over a respective readrange, R_(n), as illustrated in FIG. 13. In this example, R₁ representsa relatively far reading distance, R₂ represents a relatively mediumreading distance, and R₃ represents a relatively short reading distance.In a reader system incorporating all three digitizers, a total readingdistance represented by R_(T) could successfully be captured where R_(T)is greater than any one of the reading distances R_(n). In an aspect,digitizers 6004 _(n) (D₁, D₂ . . . D_(n)) are software modulesexecutable by control circuit 140. Integrated circuit 180 may alsoinclude decoders C₁, C₂ . . . C_(n) in the form of software modulesexecutable by control circuit 140.

The interface of the multiple digitizers to the overall system 100 is aprincipal consideration in efficiently decoding bar code symbols, whileutilizing the advantages of the multiple digitizers D_(n). In oneaspect, control circuit 140 may drive the different plurality ofdigitizers in parallel with each other, depending on the speed of thescanning system. One could then combine the results that get passed tothe decoder C_(n) by adding the digitizer results of one scan to the endof the digitizer results of another scan, giving a single result. Inanother aspect, control circuit 140 may launch the plurality ofdigitizers sequentially, with each scan being sent through onedigitizer, D₁, and the result then attempted to be decoded. If thatattempt fails, the scan could then be sent through another digitizer,D₂, and another attempt at decoding made, and so on and so forth for theplurality of digitizers D_(n). In another aspect relating to a linearscanning system wherein the scanning itself may be the fastest part ofthe system, the control circuit 140 directs each of the scans to gothrough successive digitizers; that is, the first scan taken by thedevice would go through the first digitizer and an attempt would be madeto decode the result. After the decode attempt, control circuit 140would launch a new scan and the results sent to the second digitizer,with an attempt to decode the result, and so on for the plurality ofdigitizers.

Several illustrative techniques for making intelligent decisions aboutwhich digitizer methodology to use, which can help optimize the decodingspeed, are presented as follows:

EXAMPLE 1: Voting

In linear bar code decoding, the process of verifying a bar code read bysuccessively decoding the same bar code in multiple scans is used toeliminate cases where the bar code is not interpreted correctly or wherea noisy signal may randomly generate a bar code read. This will behenceforth referred to as voting the bar code. To find the correctdigitization method for the bar code itself, the system cycles throughthe different digitizers running on the system. However, once adigitizer has yielded what appears to be valid bar code data, then thesystem will “lock on” to that digitizer, and use it exclusively for thenext few scans in an attempt to vote the bar code and get a successfulread. For instance, if a certain digitizer D_(x) found what is believedto be bar code data, the control circuit 140 would then configure thesystem to use that same digitizer D_(x) and only that digitizer for thenext N number of scans (where usually N>1) to ensure that a significantnumber of attempts are made with that digitizer to see that same dataagain. If that same bar code data is seen during those N times of usingthe same digitizer during the voting process, the control circuit 140would refresh the system that number of times to use that same digitizeragain for N times. However, if or when enough decodes are seen toconsider the symbol voted as a successful read, or if the number oftimes to use the same digitizer counts down to zero, the control circuitwould reset the system to cycle through the digitizers to find the nextbar code.

In an aspect, once bar code data has been seen by a digitizer, that samescan is run through all of the digitizers to determine if there aremultiple digitizers that can extract the same data from the scan line.An attempt can then be made to rank the effectiveness of each one. Forinstance, if three digitizers came up with the same data (i.e. decodedthe bar code part of the signal correctly), it might be determinablewhich of the digitizers ignored more of the surrounding area or, inother words, which digitizer found the least number of transitions inthe signal but still was able to successfully decode the bar code. Analternative aspect would involve ranking individual strong and weakpoints of each digitizer in the system. In this case, where the samedata is decoded in a given scan line with more than one digitizer, itmay be noticed that all of the digitizers were respectively ascending inrank of a particular attribute, but descending in rank of another, inwhich case the idea would be to pick the middle-most one of that group.

EXAMPLE 2: Stacked Linear

Another instance where the control circuit 140 can configure the systemsuch that a given digitizer is used for the next subsequent N scans iswith the case of a stacked linear bar code such as PDF417. Stackedlinear bar codes inherently require multiple single line scans in orderto successfully decode. For example, where the system is cycling throughthe plurality of digitizers and sees a valid decode of a row of stackedlinear data, the system is configured to use that same digitizerexclusively for the next N scans (again usually N>1). If a subsequentline of data from that stacked linear code is decoded during those Ntimes of using the same digitizer, the system is then refreshed to usethat digitizer for another N scans. However, if or when enough data isreceived to create a successful decode, or if the number of times to usea given digitizer N counts down to zero having not seen another row ofstacked linear data, the system is then reset to cycle through the otherdigitizers in attempting to find the next bar code.

In another aspect, if a valid row of a stacked linear bar code is found,the process would cycle through all of the digitizers with that exactscan to determine which digitizer produces the highest code word yieldfor that line of data, and then configure the system to use thatdigitizer.

EXAMPLE 3: Statistical Decision Making

In a contemplated aspect, the multiple digitizers would be used toessentially optimize scanning in a given environment. For example,statistical records would kept internal to the system during the processof cycling through the digitizers to rank all of the digitizers in theorder of their success rate at finding bar code data (i.e. not countingthe times when a specific digitizer is used repeatedly for voting).Then, an intelligent decision could be made as to the order of how thedigitizers would be run through. For instance, the first digitizer inthis ranking would be the one that was statistically most successful atfinding a bar code, the second would be the second most successful, andso on. It may be that one digitizer happens to be twice as successful asthe combined success rate of each of the others, in which case that onedigitizer would get called not only with the first scan, but also withthe third, and fifth, etc. Assuming that the scanning environmentremains fairly consistent (i.e. print quality, size, read distance,etc.), eventually the order of the digitizers would be optimized to runin this environment.

A digital image reading system including an image sensor and a computerthat is programmed to adjust the frame rate of the image sensor, and toobtain a maximum frame rate of the image sensor for obtaining anacceptable image. An algorithm for adjusting the frame rate evaluatesimage parameters and calculates new exposure times, gain values, andexposure settings to support a maximum frame rate of the image sensor. Aprocess for obtaining an acceptable image with an image reader evaluatesan image signal level and adjusts the frame rate if the signal level isoutside of a predetermined range. The process adjusts the image sensorto run at a maximum operational frame rate. A digital image readingsystem including multiple separate digitizers for use in various readenvironments and under various read conditions.

In accordance with embodiments of the invention described and claimedherein, there are provided an optical image reading system (includingscanning and decoding components) and method suitable for use with barcode readers, bar code scanning engines, portable data terminals (PDTs)and other device form factors as those skilled in the art willappreciate, that are adaptable to the object environment and/or inputconditions, and by which result improved data acquisition time and dataacquisition accuracy. In an aspect, the reader will automatically adaptto different read conditions or environments.

An embodiment of the invention is directed to a process for obtaining anacceptable image with an image reader. As used herein, the term“acceptable image” refers to image data (i.e., 1D or 2D symbology, text,image, or other indicia) that meets the threshold criteria of signalcontrast, brightness, or other image characteristics utilized by theimager control algorithm; that is one that falls within a configuredtolerance of the target image requirements set forth by the algorithm.In an aspect, the process includes the acquisition of an initial image(pixel data) with an appropriate image reader operating at a given framerate and, based upon a signal level analysis, calculating a new framerate. In an aspect, the new frame rate is a maximum frame rate. The term‘maximum frame rate’ as used herein throughout refers to the highestoperation frame rate of the image sensor that supports a calculated orotherwise desirable exposure time/signal gain value, and which resultsin the acquisition of an acceptable image. According to an aspect, themethod involves the step of dynamically adjusting the frame rate suchthat a maximum frame rate is achieved. The acceptable image is thendecoded or otherwise processed by the system.

Another embodiment of the invention is directed to an algorithm that isutilized by an image reader/decoder. The algorithm is designed toevaluate certain image characteristics of an acquired image and todetermine whether the image sensor is operating at the fastest framerate. The outcome of this determination can then be the basis forcalculating new exposure time and gain values that support a new framerate which, in an aspect, is the maximum operationa frame rate of theimager for obtaining an acceptable image.

Another embodiment of the invention is directed to a digital imagereading system, including an image sensor that is operationally coupledto a computer that can dynamically alter the frame rate of the imagesensor to acquire an acceptable image. In various aspects, the imagereader can read/decode/display 1D or 2D symbology and/or compositeimages.

Another embodiment according to the invention is directed to a digitalimage reading system including an image reading component having aplurality of digitizers. In an aspect, the image reader utilizingmultiple digitizers can operate over various parameter ranges ofdifferent image reading parameters that may vary beyond the control ofthe operator and detrimentally affect image acquisition. The pluralityof digitizers collectively enable the reader to successfully operateover a greater or enhanced range of conditions than would be enabled bya single digitizer. In various aspects, the digitizers arehardware-based digitizers or, alternatively, software-based digitizersemploying known digital signal processing algorithms. In variousaspects, the plurality of digitizers are operationally configured to runin parallel or, alternatively, sequentially, or time overlapped with apredetermined lag time, such that the total processing time required formultiple digitization attempts is equivalent to, or faster than, theprocessing time required by a single digitizer image reader or a readerthat successively subjects the image parameters to multiple digitizationalgorithms.

All of the foregoing device and process embodiments may be carried outusing a hand-held dataform (bar code or other symbology) reading devicehaving a solid-state image sensor.

While the present invention has been particularly shown and describedwith reference to the preferred mode as illustrated in the drawing, itwill be understood by one skilled in the art that various changes indetail may be effected therein without departing from ythe spirit andscope of the invention as defined by the claims.

1. An algorithm for use by a digital image reader/decoder, comprisingthe steps: (i) acquire an image at an initial frame rate parameter, gainparameter, and exposure time parameter, (ii) evaluate the image, (iii)determine whether the system is operating at a fastest frame rate, and,if not, (iv) calculate a new exposure time parameter to provide adesired image illumination, (v) calculate a maximum frame rate parameterthat will support the new exposure time, (vi) calculate a new exposuresetting parameter that will support the new exposure time at the maximumframe rate, (vii) determined whether the image is acceptable and, ifyes, (viii) output and decode the image, and provide the parameters in(iv-vi) to the imager as new initial parameters, and (ix) return to (i).2. An algorithm for use by a digital image reader/decoder, comprisingthe steps: (i) acquire the image, (ii) evaluate the image, (iii)determine whether the system is operating at a fastest frame rate, and,if not, (iv) calculate a new exposure time parameter to provide adesired image illumination, (v) calculate a maximum frame rate parameterthat will support the new exposure time, (vi) calculate a new exposuresetting parameter that will support the new exposure time at the maximumframe rate, (vii) determine whether the image is acceptable and, if not,(viii) provide the parameters in (iv-vi) to the imager as new initialparameters, and (ix) return to (i).
 3. An alogorithm for use by adigital image reader/decoder, comprising the steps: (i) acquire theimage, (ii) evaluate the image, (iii) determine whether the system isoperating at a fastened frame rate, and, if yes (iv) determine anillumination level of the image and whether the image was acquired at amaximum exposure setting and a maximum gain setting and, if no, (v)calculate a new exposure parameter and a new gain parameter that are, atmost, maximum respective values for the initial frame rate, whichproduce a desired image illumination, (vi) determine whether the imageis acceptable and, it not, (vii) provide the parameters in [(iv-vi)] tothe imager as new initial parameters, and (viii) return to (i).
 4. Analogrithm for use by a digital image reader/decoder, comprising thesteps: (i) acquire the image, (ii) evaluate the image, (iii) determinewhether the system is operation at a fastest rate, and, if yes, (iv)determine an illumination level of the image and whether the image wasacquired at a maximum exposure setting and a maximum gain setting and,if no, (v) calculate a new expsoure parameter and a new gain parameterthat are, at most, maximum respective values for the initial frame rate,which produce a desired image illumination, (vi) determine whether theimage is acceptable and, if yes, (vii) output and decode the image, andprovide the parameters in (iv-vi) to the imager as new initialparameters, and (viii) return to (i).
 5. An algorithm for use by adigital image reader/decoder, comprising the steps: (i) acquire theimage, (i) evaluate the image, (iii) determine whether the system isoperating at a fastest frame rate, and, if yes, (iv) determine anillumination level of the image and whether the image was acquired at amaximum exposure setting and a maximum gain setting and, if yes, (v)calculate a new exposure time parameter that will provide a desiredimage illumination, (vi) calculate a maximum frame rate parameter thatwill support the new exposure time parameter, (vii) calculate a newexposure setting parameter that will support the new exposure time atthe maximum frame rate, (viii) determine whether the image is acceptableand, if yes, (ix) output and decode the image, and provide theparameters in (v-vii) to the imager as new initial parameters, and (x)return to (i).
 6. An algorithm for use by a digital imagereader/decoder, comprising the steps: (i) acquire the image, (ii)evaluate the image, (iii) determine whether the system is operating at afastest frame rate, and, if yes, (iv) determine an illumination level ofthe image and whether the image was acquired at a maximum exposuresetting and a maximum gain setting and, if yes, (v) calculate a newexposure time parameter that will provide a desired image illumination,(vi) calculate a maximum frame rate parameter that will support the newexposure time parameter, (vii) calculate a new exposure settingparameter that will support the new exposure time at the maximum framerate, (viii) determine whether the image is acceptable and, if yes, (ix)output and decode the image, and provide the parameters in (v-vii) tothe imager as new initial parameters, and (x) return to (i).
 7. Adigital image reading system, comprising: a) an image sensing componentadapted to acquire an image at an initial frame rate parameter, gainparameter, and exposure time parameter; and b) a computer coupled to theimage sensing component, wherein the computer is programmed to adjustthe frame rate such that the image sensing component can operate at amaximum frame rate to capture an acceptable image, wherein the computeris programmed to: (i) acquire the image, (ii) evaluate the image (iii)determine whether the system is operating at a fastest frame rate, and,if not, (iv) calculate a new exposure time parameter to provide adesired image illimination, (v) calculate a maximum frame rate parameterthat will support the new exposure time, (vi) calculate a new exposuresetting parameter that will support the new exposure time at the maximumframe rate, (vii) determine whether the image is acceptable and, if yes,(viii) output and decode the image, and provide the parameters in(iv-vi) to the imager as new initial parameters, and (ix) return to (i).8. A digital image reading system, comprising: (a) an image sensingcomponent adapted to acquire an image at an initial frame rateparameter, gain parameter, and exposure time parameter; and (b) acomputer coupled to the image sensing component, wherein the computer isprogrammed to adjust the frame rate such that the image sensingcomponent can operate at a maximum frame rate to capture an acceptableimage, wherein the computer is programmed to: (i) acquire the image,(ii) evaluate the image (iii) determine whether the system is operatingat a fastest frame rate, and if not, (iv) calculate a new exposure timeparameter to provide a desired image illumination, (v) calculate amaximum frame rate parameter that will support the new exposure time,(vi) calculate a new exposure setting parameter that will support thenew exposure time at the maximum frame rate, (vii) determine whether theimage is acceptable, and if not, (viii) provide the parameters in(iv-vi) to the imager initial parameters, and (ix) return to (i).
 9. Adigital image reading system, comprising: a) an image sensing componentadapted to acquire an image at an initial frame rate parameter, gainparameter, and exposure time parameter; and b) a computer coupled to theimage sensing component, wherein the computer is programmed to adjustthe frame rate such that the image sensing component can operate at amaximum frame rate to capture an acceptable image, wherein the computeris programmed to: (i) acquire the image, (ii) evaluate the image (iii)determine whether the system is operating at a fastest frame rate, andif yes, (iv) determine an illumination level of the image and whetherthe image was acquired at a maximum exposure setting and a maximum gainsetting, and, if no, (v) calculate a new exposure parameter and new gainparameter that are, at most, maximum respective values for the initialframe rate, which produce a desired image illumination, (vi) determinewhether the image is acceptable and, if not, (vii) provide theparameters in (iv-vi) to the imager as new initial parameters, and(viii) return to (i).
 10. A digital image reading system, comprising: a)an image sensing component adapted to acquire an image at an initialframe rate parameter, gain parameter, and exposure time parameter; andb) a computer couopled to the image sensing component, wherein thecomputer is programmed to adjust the frame rate such that the imagesensing component can operate at a maximum frame rate to capture anacceptable image, wherein the computer is programmed to: (i) acquire theimage, (ii) evaluate the image, (iii) determine whether the system isoperating at a fastest frame rate, and, if yes, (iv) determine anillumination level of the image and whether the image was acquired at amaximum exosure setting and a maximum gain setting, and, if no, (v)calculate a new exposure parameter and a new gain parameter that are, atmost, maximum rsepective values for the initial frmae rate, whichproduce a desired image illumination, (vi) determine whether the imageis acceptable and, if yes, (vii) output and decode the image, andprovide the parameters in (iv-vi) to the imager as new initialparameters, and <(viii) return to (i).
 11. A digital image readingsystem, comprising: a) an image sensing componenet adapted to acquire animage at an initial frame rate parameter, gain parameter, and exposuretime parameter; and b) a computer coupled to the image sensingcomponent, wherein the computer is programmed to adjust the frame ratesuch that the image sensing component can operate at a maximum framerate to capture an acceptable image, wherein the computer is programmedto: (i) acquire the image, (ii) evaluate the image, (iii) determinewhether the system is operating at a fastest frame rate, and, if yes,(iv) determine an illumination level of the image and whether the imagewas acquired at a maximum exposure setting and a maximum gain setting,and, if yes, (v) calculate a new exposure time parameter that willprovide a desired image illumination, (vi) calculate a maximum framerate parameter the will support the new exposure time parameter, (vii)calculate a new exposure setting parameter that will support the newexposure time at the maximum frame rate, (viii) determine whether theimage is acceptable and, if yes, (ix) output and decode the image, andprovide the parameters in (v-vii) to the imager as new initialparameters, and (x) return to (i).
 12. A digital image reading system,comprising: a) an image sensing component adapted to acquire an image atan initial frame rate parameter, gain parameter, and exposure timeparameter; and b) a computer coupled to the image sensing component,wherein the computer is programmed to adjust the frame rate such thatthe image sensing component can operate at a maximum frame rate tocapture an acceptable image, wherein the computer is programmed to: (i)acquire the image, (ii) evaluate the image, (iii) determine whether thesystem is operating at a fastest frame rate, and, if yes, (iv) determinean illumination level of the image and whether the image was acquired ata maximum exposure setting and a maximum gain setting, and, if yes, (v)calculate a new exposure time parameter that will provide a desiredimage illumination, (vi) calculate a maximum frame rate parameter thatwill support the new exposure time parameter, (vii) calculate a newexposure setting parameter that will support the new exposure time atthe maximum frame rate, (viii) determine whether the image is acceptableand, if yes, (ix) output and decode the image, and provide theparameters in (v-vii) to imager as new initial parameters, and (x)return to (i).
 13. A digital image reading system, comprising: a) animage reading component including a digitizer; and b) an image decodingcomponent, wherein the image reading component includes a plurality ofdigitizers, and wherein each of the plurality of digitizers isconfigured to operate over a respective parameter range of a givenparameter associated with the plurality of digitizers, and furtherwherein each parameter range is different from any other parameterrange.
 14. The digital image reading system of claim 13, wherein thegiven parameter is a reading distance.
 15. The digital image readingsystem of claim 13, wherein the given parameter is a symbologyblack/white contrast.
 16. The digital image reading system of claim 13,wherein the given parameter is a symbology color contrast.
 17. Thedigital image reading system of claim 13, wherein the given parameter isa motion blur.
 18. The digital image reading system of claim 13, whereinthe given parameter is a bar growth.
 19. The digital image readingsystem of claim 13, comprising three digitizers configured to operateover a close reading range, a medium reading range, and far readingrange.
 20. The digital image reading system of claim 19, wherein atleast two of the parameter ranges overlap.
 21. A process for obtainingan acceptable image, comprising: providing a digital image reader havinga plurality of digitizers; making an image acquistion attempt utilizingone of the plurality of digitizers; and making a subsequent imageacquistion attempt utlilizing a different one of the plurality ofdigitizers, wherein the plurality of digitizers are configured foroperation over a respective parameters range of a given parameterassociated with the plurality of digitizers, further wherein eachparameter range is different from any other parameter range.
 22. A barcode reading device comprising: an image sensor including a plurality ofphotosensitive elements: a lens assembly focusing an image onto saidimage sensor; a trigger; a housing encapsulating said image sensor; acontrol circuit in communication with said image sensor wherein saiddevice is configured so that said device captures image data in responseto actuation of said trigger; and a plurality of digitizers, whereineach of the plurality of digitizers is configured to operate over arespective parameter range of a given parameter associated with theplurality of digitizers, and further wherein each parameter range isdifferent from any other parameter range.
 23. The bar code readingdevice of claim 22, wherein the given parameter is a reading distance.24. The bar code reading device of claim 22, wherein the given parameteris a symbology black/white contrast.
 25. The bar code reading device ofclaim 22, wherein the given parameter is a symbology color contrast. 26.The bar code reading device of claim 22, wherein the given parameter isa motion blur.
 27. The bar code reading device of claim 22, wherein thegiven parameter is a bar growth.
 28. The bar code reading device ofclaim 22, comprising three digitizers configured to operate over a closereading range, a medium reading range, and a far reading range.
 29. Thebar code reading device of claim 22 wherein at least two of theparameter ranges overlap.
 30. The bar code reading device of claim 22,wherein each of said plurality of digitizers is a software moduleexecutable by said control circuit.
 31. The bar code reading device ofclaim 22, wherein said plurality of digitizers are configured to run inparallel.
 32. The bar code reading device of claim 22, wherein saidplurality of digitizers are configured to run in series.
 33. The barcode reading device of claim 22, wherein said image sensor is a twodimensional image sensor comprising a plurality of pixels formed in aplurality of rows and columns of pixels.
 34. The bar code reading deviceof claim 33, wherein the given parameter is a reading distance.
 35. Thebar code reading device of claim 33, wherein the given parameter is asymbology black/white contrast.
 36. The bar code reading device of claim33, wherein the given parameter is a symbology color contrast.
 37. Thebar code reading device of claim 33, wherein the given parameter is amotion blur.
 38. The bar code reading device of claim 33, wherein thegiven parameter is a bar growth.
 39. The bar code reading device ofclaim 33, comprising three digitizers configured to operate over a closereading range, a medium reading range, and a far reading range.
 40. Thebar code reading device of claim 39, wherein at least two of theparameter ranges overlap.
 41. The bar code reading device of claim 33,wherein each of said plurality of digitizers is a software moduleexecutable by said control circuit.
 42. The bar code reading device ofclaim 33, wherein said plurality of digitizers are configured to run inparallel.
 43. The bar code reading device of claim 33, wherein saidplurality of digitizers are configured to run in series.